无法在VS2012中运行测试

时间:2012-09-18 19:20:33

标签: .net visual-studio-2012 mstest visual-studio-express

尝试在Visual Studio Express 2012 for Web中运行单元测试时是否有人遇到以下错误?:

  

MSTestAdapter无法发现测试,因为经典模式帮助程序不可用。如果已选择TestSettings文件,请取消选择它并重试。

我在Visual Studio 2012 RC中有一个解决方案,它包含几个应用程序,几个类库和几个单元测试项目。当Visual Studio 2012发布时,我转到了Express For Web。一切都在编译和运行正常,但任何时候我尝试运行单元测试我得到上述错误。

作为测试,我卸载了单元测试项目并删除了TestSettings文件,并添加了一个带有一个测试的新单元测试项目,这是一个简单的真正断言。但是,错误仍然存​​在。

谷歌搜索对我来说没有任何重要意义。各个网站上的一些相关帖子,但还没有实质内容。 (也许其他人有更多的运气?)看起来测试框架在尝试调用MSTest之前就失败了,但同样好奇的是我在机器上找不到mstest.exe

有人碰到这个并解决了吗?我想我可以转移到NUnit(尽管他们的网站没有响应,这并没有给项目增添很多信心)或者那种性质的东西,尽管我宁愿尽可能地减少工具的数量。

2 个答案:

答案 0 :(得分:16)

我遇到了同样的问题。我删除了一些测试设置文件,现在正在运行。 要删除的文件:

  • Local.testsettings

  • SOLUTIONNAME.vsmdi

  • TraceAndTestImpact.testsettings

步骤:

  • 从解决方案中删除所有3个文件

  • 从解决方案文件夹中删除所有3个文件

  • 在VS12中关闭解决方案并重新打开

http://dailywebtips.blogspot.co.uk/2012/09/visual-studio-2012-express-error.html

答案 1 :(得分:0)

很棒的答案,AndreCruz!帮了我很多忙! 但是,当我试图运行测试时,它抱怨:

  

无法为类设置TestContext属性   WavverTests.UnitTest1。错误:System.ArgumentException:对象   类型   ' Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation'   无法转换为类型   ' Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'

我尝试更改类型,因为错误似乎暗示 - 好像名称空间已经更改。 但那不起作用,并且给出了一个更加模糊的错误。

相反,删除此属性! 对我来说,删除TestContext属性解决了这个问题。

希望这有助于其他人。