如何使用 dotnet test 命令行 运行 单个 xunit C# 测试

How to run a single xunit C# test using dotnet test command line

背景:我正在尝试运行 C# 单元测试(测试正在使用 Xunit Framework),我的要求是 运行 单个单元测试而不是整个 dll 中的所有 测试。

我尝试过的事情:我尝试了几个命令,但直到现在都没有运气。

  1. 我试过了dotnet test "complete_path/someTestDll.dll" 结果:这将启动 运行dll 中的所有测试(预期但不期望)

  2. 尝试过dotnet test "complete_path/someTestDll.dll" \Tests: "Namespace.ClassName.MethodToRun" 结果:包含找到的测试但没有测试匹配筛选器的 DLL。

  3. 尝试过dotnet test "complete_path/someTestDll.dll" --filter "FullyQualifiedName=Namespace.ClassName.MethodToRun" 未找到测试匹配过滤器(dll 的路径再次正常)

  4. 尝试过dotnet test "complete_path/someTestDll.dll" --filter "DisplayName=Namespace.ClassName.MethodToRun"

不仅是这些,还有完整路径、相对路径等各种混合搭配,几乎浪费了一整天。

注意: 我知道关于这个的答案很少,但我已经尝试了所有这些,从昨天开始,似乎没有任何效果对我来说到现在,所以我不得不来这里寻求帮助。

看来我遗漏了一些严重的问题,希望我能得到一些解决我问题的答案。

非常感谢!!

我能够 运行 使用此模板通过开发人员命令提示符进行单个 xunit 测试。

dotnet test "complete_path/someTestDll.dll" --filter "Namespace.ClassName.MethodName"

您还可以 运行 此命令查看可用测试的完整列表,以帮助仔细检查命令中的路径和名称是否正确。

dotnet test "complete_path/someTestDll.dll" -t
  1. 运行里面的解。

    dotnet test [项目文件夹名称] --filter=Namespace.ClassName.MethodName

  2. 运行 项目内部。

    cd [项目文件夹名称]

    dotnet 测试 --filter=Namespace.ClassName.MethodName