根据MSDN here并讨论了here,我们可以使用MSTest.exe
从命令行运行测试-这比在IDE中运行要好,而且速度更快(如果您正在像我这样的大型解决方案上工作,则特别慢)。
我的问题是如何在我的解决方案中使用MSTest.exe
运行所有测试?该命令仅具有/test
选项,以选项中指定的一个程序集过滤中的测试。鉴于我可以在解决方案中包含所有N个测试程序集(!?),因此我只能想到调用该命令N次。而且,运行后的结果是针对每个程序集的基础知识,因此不容易获得失败的测试/通过了。
如果您知道更好的方法,请分享!谢谢!
最佳答案
我使用testmetadata
参数并将其指向我的.vsmdi文件来完成此操作。
如here所述。
例如。:
mstest /testmetadata:mySolution.vsmdi
但是请注意
testmetadata
可能更脆弱(例如empty test lists combined with the Ignore attribute cause "Specified cast is not valid")。使用所有包含测试类的DLL创建批处理可能是更可靠的选择。