【发布时间】:2011-04-25 05:34:37
【问题描述】:
我搜索了以下有用的参考资料。目前我想在以下情况下从命令行运行所有内容(为了便于执行和快速):
- 特定测试(即由标记为 [TestMethod()] 的方法编写的测试)
- 一个类中的所有测试
- 当前 TFS 的所有受影响测试等待我的更改。
- 所有测试
- 除标记为类别 [TestCategory("some-category")] 的测试之外的所有测试
我不确定如何为我的上述需求编写正确的命令。
参考资料:
- MSTest.exe http://msdn.microsoft.com/en-us/library/ms182487.aspx
- MSTest.exe 的详细选项http://msdn.microsoft.com/en-us/library/ms182489.aspx
- 获取结果http://msdn.microsoft.com/en-us/library/ms182488.aspx
[编辑]
一段时间后,我发现了以下有用的提示。
- 使用 MSTest.exe 运行 Visual Studio 单元测试,在我的例子中位于
%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe。 - 使用
/testcontainer:Path\To\Your\TestProjectAssembly.dll指示您的测试在哪里进行编码。如果需要,您可以指定多个“/testcontainer”选项。 - 使用
/test:TestFilter过滤要运行的测试。请注意,此过滤器适用于完整的测试方法名称(即 FullNamespace.Classname.MethodName)
【问题讨论】:
-
这是非常宝贵的 - 在 Visual Studio 2010 中运行时,我遇到了“内存不足”异常,原因是一些内存相对较大的测试代码(使用大约 300MB 左右的堆内存)。从命令行运行解决了我的问题。
-
我只是得到“没有要执行的测试”。我猜这不适用于 Visual Studio 2019
标签: unit-testing visual-studio-2010 command-line