我有一个.NET Core项目中的大型测试套件。我可以使用测试资源管理器窗口选择运行一些测试。
我也可以使用 dotnet test
命令在命令行上运行整个测试套件。是否有办法在命令行上仅运行一个(或多个)测试?
我有一个.NET Core项目中的大型测试套件。我可以使用测试资源管理器窗口选择运行一些测试。
我也可以使用 dotnet test
命令在命令行上运行整个测试套件。是否有办法在命令行上仅运行一个(或多个)测试?
在dotnet版本1.0.0中,您需要使用--filter选项:
您可以按DisplayName、FullyQualifiedName和Traits进行过滤。
例如:
dotnet test --filter "FullyQualifiedName=YourNamespace.TestClass1.Test1"
此外,还允许使用以下运算符:=、!= 和 ~(包含)。
更多信息请参见:文档
由于此问题被标记为xUnit,因此使用dotnet xUnit CLI命令的命令如下:
dotnet xunit -method FullyQualifiedName
dotnet xunit
已经被淘汰。 现在正确的CLI命令是dotnet test
(由xunit.runner.visualstudio
包提供支持)。 - Nate Barbettini
-method
和-class
开关在1.1中不再可用,您将收到错误消息:MSBUILD:error MSB1001:未知开关。开关:-method
。 - Teknikaali-method
不再起作用,但是--filter
可以。感谢@andrecarlucci! - Nate Barbettinidotnet test --filter xyz
与dotnet test --filter FullyQualifiedName~xyz
相同”,这更加舒适! - VincentTellier