【发布时间】:2012-07-16 17:06:37
【问题描述】:
当前实施:
void IFileManager.DeleteFile(
string argFilename )
{
throw new ArgumentException( "Specified filename was not found" );
}
单元测试
Expect.Once.On( m_MockFileManager ).Method( "DeleteFile" );
....
....
单元测试通过,全部为绿色。我预计测试会失败,因为应该抛出异常。当我在不使用模拟框架的情况下运行此测试时,会引发异常并且测试失败。
为什么 mocking 框架会吞下异常?
【问题讨论】:
-
什么模拟/单元测试框架?测试方法上有某种
[ExpectedException]属性吗? -
当您说“当前实施”时,您的实际意思是什么?这是您放入 Fake 对象的内容,还是真正的实现?对于大多数模拟框架,您的模拟方法在您告诉它要做什么之前不会做任何事情,它只是一个空方法。
标签: c# unit-testing mocking nmock2