【问题标题】:How do I run specific tests using dotnet test?如何使用 dotnet test 运行特定测试?
【发布时间】:2016-10-11 15:50:00
【问题描述】:

我在 .NET Core 项目中有一个大型测试套件。我可以使用测试资源管理器窗口来选择一些要运行的测试。

我还可以使用dotnet test 在命令行上运行整个 测试套件。有没有办法在命令行上只运行一个(或几个)测试?

【问题讨论】:

    标签: xunit.net .net-core .net-core-rc2 xunit2


    【解决方案1】:

    对于 dotnet 版本 1.0.0,您必须使用 --filter 选项:

    您可以按 DisplayName、FullyQualifiedName 和 Traits 进行过滤。

    例如:

    dotnet test --filter "FullyQualifiedName=YourNamespace.TestClass1.Test1"
    

    此外,允许使用以下运算符:=、!= 和 ~(包含)。

    更多信息在这里:docs

    【讨论】:

    • 我试过了,这个解决方案也适用于 1.1 版本和 [Theory] ​​修饰方法。开关 -method-class 在 1.1 中不再可用,您将收到错误消息:MSBUILD: error MSB1001: Unkown switch. Switch: -method
    • 是的,我刚刚确认了这一点。 -method 不再有效,但 --filter 有效。谢谢@andrecarlucci!
    • 从 15.1 版开始,表达式可以是与完全限定名称匹配的关键字。正如文档所述,“dotnet test --filter xyzdotnet test --filter FullyQualifiedName~xyz 相同”这很舒服!
    【解决方案2】:

    由于此问题标记为 xUnit,因此 dotnet xUnit CLI 命令的命令如下:

    dotnet xunit -method FullyQualifiedName
    

    【讨论】:

    • 仅供参考:dotnet xunit 现已停用。 dotnet test 是正确的 CLI 命令(由 xunit.runner.visualstudio 包提供支持)。
    猜你喜欢
    • 2017-07-22
    • 2019-05-26
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    相关资源
    最近更新 更多