为什么ReSharper的测试运行器会忽略ExpectedException?

时间:2011-07-14 12:46:03

标签: visual-studio-2010 unit-testing resharper

当我在Visual Studio 2010中使用调试器运行以下示例(使用TestDriven.NET)时,我得到了一个传递,但是当我使用ReSharper测试运行器运行它时,我得到了一个失败。该测试使用Microsoft的测试框架编写。

如何正确设置?我基本上只是想用非法输入调用一个方法,我希望它抛出异常。

[ExpectedException(typeof(System.Exception))]
[TestMethod]
public void TestSomething()
{
    throw new System.Exception();
}

2 个答案:

答案 0 :(得分:4)

将其更改为使用不太通用的异常(即非System.Exception)

[ExpectedException(typeof(UnauthorizedAccessException))]
[TestMethod]
public void TestSomething()
{
    throw new UnauthorizedAccessException();
}

ReSharper似乎没有使用System.Exception处理ExpectedException,这在某种程度上是好的。具体说明您的例外情况。

答案 1 :(得分:3)

此外,请务必包含正确版本的Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll