根据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创建批处理可能是更可靠的选择。

09-17 12:18
查看更多