Visual studio 2010 MSTest UnitTestingFramework 10.1与10.0

Visual studio 2010 MSTest UnitTestingFramework 10.1与10.0,visual-studio-2010,mstest,Visual Studio 2010,Mstest,我在从10到10.1的测试项目中更新了对Microsoft.VisualStudio.QualityTools.UnitTestFramework的引用,预期的异常似乎不再起作用。试试这个例子 [TestMethod] [ExpectedException(typeof(FileNotFoundException))] public void SanityTest() { File.ReadAllLines("TheresNoWayThisThingExists"); } 测试失败。如

我在从10到10.1的测试项目中更新了对
Microsoft.VisualStudio.QualityTools.UnitTestFramework
的引用,预期的异常似乎不再起作用。试试这个例子

[TestMethod]
[ExpectedException(typeof(FileNotFoundException))]
public void SanityTest()
{
    File.ReadAllLines("TheresNoWayThisThingExists");
}
测试失败。如果我恢复到10(必须撤消),它就通过了。有人核实了吗?还是只有我?我在resharper的test runner和ms test runner中试用过,结果相同

编辑:其他信息

它似乎知道它过去了……有点。为“noExceptionMessage”添加字符串值不会在失败时返回该字符串值


此外,AllowDerivedTypes似乎也没有效果。(我将FileNotFound替换为just Exception,结果相同)

当项目运行时版本为v4.0.30319,并且您将MSTest UnitTestingFramework从10更改为10.1,即v2.0.50727时,会发生这种情况。运行时版本为v4.0.30319的UnitTestingFramework 10.1不存在。因此,为了修复它,您需要更改项目的运行时版本或切换回UnitTestingFramework 10。

您的测试注释程序集和您的测试运行程序是同一版本吗?我不确定您是否可以在没有其他注释的情况下更新一个注释,或者至少我怀疑您是否能够可靠地将10.1注释用于10.0运行程序。