为什么模拟方法会吞下异常?

时间:2012-07-16 17:06:37

标签: c# unit-testing mocking nmock2

当前实施:

void IFileManager.DeleteFile(
  string argFilename )
{
    throw new ArgumentException( "Specified filename was not found" );
}

单元测试

Expect.Once.On( m_MockFileManager ).Method( "DeleteFile" );
....
....

单元测试通过,全部为绿色。我期望测试失败,因为应该抛出异常。当我在不使用模拟框架的情况下运行此测试时,抛出异常并且测试失败。

为什么模拟框架会吞下异常?

1 个答案:

答案 0 :(得分:0)

您可能需要提供比该行更多的代码,但我的猜测是您正在模拟调用DeleteFile的对象,并且实际上并未调用DeleteFile方法。只要代码调用该方法,那么代码将通过。同样,更全面的代码图片可以提供更好的答案。