我有一些代码如下,我想单元测试哪个是字符串类的扩展方法:
public static string Replace(this string str, Dictionary<string, string> dict)
{
}
我的扩展方法在主项目中,所以我的单元测试项目甚至看不到它。
我该怎么做?我正在使用Nunit。
答案 0 :(得分:4)
您可以通过传递作为第一个参数扩展的类型的实例(例如StringExtensions.Replace(str, dict)
)来调用普通静态方法之类的扩展方法。
如果此扩展方法位于&#34;主项目&#34;中,则应在主项目的测试套件中进行测试,而不是在引用主项目的项目中进行测试。
答案 1 :(得分:0)
除了需要从您的测试程序集中引用您的主程序集(根据您的一条评论,在您的特定情况下似乎是问题),还有两个可能的陷阱,遇到这个问题的人也应该请注意: