我在使用 Visual Studio 单元测试框架时遇到了一个非常奇怪的情况。装饰为[TestMethod, ExpectedException(typeof(InvalidOperationException))]
失败的测试,带有System.InvalidOperationException
.
如果我从测试中删除所有代码(以确保它根本不会抛出任何东西) - 它通过了。就好像ExpectedException
根本不存在一样……
如果我用一个虚拟测试开始一个空项目,除了抛出它什么都不做,InvalidOperationException
它完全可以按预期工作。
验证了两者都ExpectedExceptionAttribute
没有InvalidOperationException
被覆盖。不知道还有什么可以在这里尝试...
编辑:通过删除对Microsoft.VisualStudio.QualityTools.UnitTestFramework
v10.1 的引用并添加 v10.0 来解决问题。不知道为什么这很重要,或者为什么其他属性工作得很好。