2014-03-28 35 views
1

是否可以用NUnit模拟函数调用?我知道这里的标准答案是提取一个接口并使用依赖注入,但我想知道是否有可能不这样做,只是模拟一个函数调用。用NUnit模拟函数?

+0

在java中,使用PowerMock,你可以做到这一点。但是当大家在项目中使用PowerMock进行单元测试时,没有人关心这个设计,因为你几乎可以嘲笑一切,所以单元测试结果一团糟,发生在我的一个项目中。 – Matt

+0

你能提供一个你想要模拟的代码样本吗? –

回答

1

可能没有,没有接口等

没有接口,你可能需要求助于微软正版正货(垫片)嘲笑方法调用原样。 (它可以让冒险与代假货组件)

假货效果很好,当你有一个像

public DateTime GetCurrentUtcDate() 
{ 
return DateTime.UtcNow; 
} 

的方法和要运行的单元测试涉及的代码,调用此方法。我们通常不会为这些方法考虑interfaces/DI。这些情况下,Fakes会派上用场。