【发布时间】:2016-10-11 15:50:00
【问题描述】:
我在 .NET Core 项目中有一个大型测试套件。我可以使用测试资源管理器窗口来选择一些要运行的测试。
我还可以使用dotnet test 在命令行上运行整个 测试套件。有没有办法在命令行上只运行一个(或几个)测试?
【问题讨论】:
标签: xunit.net .net-core .net-core-rc2 xunit2
我在 .NET Core 项目中有一个大型测试套件。我可以使用测试资源管理器窗口来选择一些要运行的测试。
我还可以使用dotnet test 在命令行上运行整个 测试套件。有没有办法在命令行上只运行一个(或几个)测试?
【问题讨论】:
标签: xunit.net .net-core .net-core-rc2 xunit2
对于 dotnet 版本 1.0.0,您必须使用 --filter 选项:
您可以按 DisplayName、FullyQualifiedName 和 Traits 进行过滤。
例如:
dotnet test --filter "FullyQualifiedName=YourNamespace.TestClass1.Test1"
此外,允许使用以下运算符:=、!= 和 ~(包含)。
更多信息在这里:docs
【讨论】:
-method 和 -class 在 1.1 中不再可用,您将收到错误消息:MSBUILD: error MSB1001: Unkown switch. Switch: -method
-method 不再有效,但 --filter 有效。谢谢@andrecarlucci!
dotnet test --filter xyz 与 dotnet test --filter FullyQualifiedName~xyz 相同”这很舒服!
由于此问题标记为 xUnit,因此 dotnet xUnit CLI 命令的命令如下:
dotnet xunit -method FullyQualifiedName
【讨论】:
dotnet xunit 现已停用。 dotnet test 是正确的 CLI 命令(由 xunit.runner.visualstudio 包提供支持)。