下面是场景。
我有一个公共类,其中包含2个静态方法。
public class Helper{
public static string (string args1, Datetime dt)
{
string computedValue = GetSomeValue(args1);
return dt.ToString(computedValue);
}
public static GetSomeValue(string args2){
//Perform Computation and return a string
}
}
现在,我要对GetSomeValue
方法进行单元测试。我不确定是否可以模拟静态方法,还是应该对该方法进行单元测试。
请帮忙。
答案 0 :(得分:0)
Moq 不能模拟静态方法。最近,我遇到了同样的问题,并为它写了一个特殊的库。尝试使用它 GitHub link NuGet link。如果我们特别考虑你的例子,你可以试试这个:
Mock.Setup(() => Helper.GetSomeValue("SomeValue"), () =>
{
var mockResult= Helper.GetSomeValue("SomeValue"); // mockResult returns "MockResult"
}).Returns("MockResult");