用NUnit模拟函数

本文关键字:函数 模拟 NUnit | 更新日期: 2023-09-27 17:54:46

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

用NUnit模拟函数

可能不会,没有接口等

如果没有接口,您可能需要诉诸Microsoft Fakes (Shims)来模拟方法调用。(它可以得到冒牌程序集的生成的风险) 当你有像 这样的方法时,

Fakes会很好地工作。

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

,并且您想要运行一个包含调用该方法的代码的单元测试。我们通常不会为这样的方法考虑接口/DI。Fakes在这种情况下很方便。