尝试在Visual Studio Express 2012 for Web中运行单元测试时是否有人遇到以下错误?:
MSTestAdapter无法发现测试,因为经典模式帮助程序不可用。如果已选择TestSettings文件,请取消选择它并重试。
我在Visual Studio 2012 RC中有一个解决方案,它包含几个应用程序,几个类库和几个单元测试项目。当Visual Studio 2012发布时,我转到了Express For Web。一切都在编译和运行正常,但任何时候我尝试运行单元测试我得到上述错误。
作为测试,我卸载了单元测试项目并删除了TestSettings文件,并添加了一个带有一个测试的新单元测试项目,这是一个简单的真正断言。但是,错误仍然存在。
谷歌搜索对我来说没有任何重要意义。各个网站上的一些相关帖子,但还没有实质内容。 (也许其他人有更多的运气?)看起来测试框架在尝试调用MSTest之前就失败了,但同样好奇的是我在机器上找不到mstest.exe
。
有人碰到这个并解决了吗?我想我可以转移到NUnit(尽管他们的网站没有响应,这并没有给项目增添很多信心)或者那种性质的东西,尽管我宁愿尽可能地减少工具的数量。
答案 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属性解决了这个问题。
希望这有助于其他人。