最近我的一些MS测试单元测试已停止工作。我在测试中没有改变任何东西。我得到的错误如下:
测试失败 - [文件名]
消息:找不到方法:'System.String Microsoft.VisualStudio.TestTools.UnitTesting.TestResult.get_TestContextMessages()'。
在“引用”下,在我的单元测试项目(在Visual Studio中)中,我有以下内容:
Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter
Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices
Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface
Microsoft.VisualStudio.TestPlatform.TestFramework
Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions
起订量
Ploeh.AutoFixture
Ploeh.AutoFixture.AutoMoq
有人知道这里有什么问题吗?
答案 0 :(得分:4)
所以问题基本上就是我在上一篇评论中所描述的,即如果你在Visual Studio 2015中创建一个新的单元测试项目,它已经安装了 Microsoft.VisualStudio.QualityTools.UnitTestFramework 。如果您从NuGet安装 MSTest.TestFramework ,这将是MSTest版本2(这一点很重要),这将为测试属性(如 TestClass)创建不明确的参考问题和 TestInitialize ,即单元测试项目无法编译。
要解决上述问题,可以从项目中删除 Microsoft.VisualStudio.QualityTools.UnitTestFramework 引用。这使得一切正常,我的项目也是如此。经过一段时间后,由于一个未知的原因,我的单元测试项目中的某些内容已损坏,我开始在原始帖子中收到错误。为了解决这个问题,我创建了一个新的单元测试项目,将所有单元测试移动到它,添加了一个参考 MSTest.TestFramework 并将其删除为 Microsoft.VisualStudio.QualityTools.UnitTestFramework < /强>
Here是一个相关问题。
答案 1 :(得分:1)
您是否也引用了Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll?我没有在提到的项目参考中看到它。默认情况下,此库在MS测试项目中引用。
此外,查看测试和目标项目的处理器体系结构是否相同。可以从菜单Test-&gt; Test Settings-&gt; Default Processor Architecture中检查测试的处理器体系结构。可能需要将其更改为x64。