我正在尝试在我的项目中模拟静态函数。我无法使用 Rhynomocks 执行此操作,因此尝试使用 Typemock 模拟静态函数。
他们说使用 typemock 模拟静态函数是可能的,下面的文章中提供了相同的示例
http://www.typemock.com/basic-typemock-unit-testing
但是它似乎对我不起作用。下面是我的代码:
公共类 Class1Test
{
[Isolated(Design = DesignMode.Pragmatic)]
[Test]
public void function()
{ Isolate.Fake.StaticMethods(Members.MustSpecifyReturnValues);Isolate.WhenCalled(() => LoggerFactory.Add(6, 4)).WillReturn(11); int value = LoggerFactory.Add(5, 6); } }
-----------------------------------------------------------LoggerFactory.cs
公共类 LoggerFactory {
public static int Add(int intx, int inty)
{
return intx + inty;
}
}
我得到的错误是:
*在 InterfaceOnly 设计模式下,无法伪造非虚拟方法。使用 [Isolated(DesignMode.Pragmatic)] 来伪造它。在此处了解更多信息http://www.typemock.com/isolator-design-mode
提前致谢。