这可以做到吗?这是我正在测试的方法:
public void SaveAvatarToFileSystem()
{
Directory.CreateDirectory(AvatarDirectory);
_file.SaveAs(FormattedFileName);
}
在我的单元测试中,我正在使用 Rhino.Mocks,并且我想验证 _file.SaveAs() 是否被调用。我已经模拟了 _file (这是一个 HttpPostedFileBase 对象)并将其注入(inject)到该方法的类构造函数中。我想运行此单元测试,但实际上没有进行 Directory.CreateDirectory 调用。这可能吗?
最佳答案
It is not possible to mock a static method using Rhino Mocks .
但是,这是可以做到的。 Microsoft Moles和 TypeMock有这个能力。
我尝试过使用 Moles,效果很好。它为您生成一个模拟程序集,并且您可以在运行时用委托(delegate)替换静态方法。
关于c# - 如何对包含静态方法的方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4090533/