NUnit中指定测试用例无法触发执行的问题求助
问题:NUnit通过
--test指定带参数的测试用例时测试计数为0 背景
项目包含一套系统测试,单组测试耗时约1小时。其中有一个带约40个TestCase注解的模块化测试方法,因单机器并行压力过大,尝试通过GitHub Actions矩阵构建将测试分发至多个节点,每个节点执行1个测试用例。
测试代码精简版
[TestCase("4.6", "20180001 V320")] // 更多测试用例 public void TestAutomaticLists(string version, string customer, string machine = "MachineConfig") { // 测试逻辑 }
探测测试用例
先编译代码,通过NunitConsoleRunner探测测试用例,执行命令:
nunit3-console.exe "Tests\SystemTests\bin\x64\Debug\SystemTests.dll" --explore="tests.txt;format=cases" --noheader --nocolor --where "cat == AST"
生成的tests.txt文件中,测试用例示例如下:
SystemTests.Tests.AutomaticListTests.TestAutomaticLists("4.6","20180001 V320")
GitHub Actions执行问题
在GitHub Actions中解析上述输出,通过矩阵构建将测试分发至各节点。已确认节点获取到有效的测试用例,且NUnit具备运行所需的所有二进制文件,但执行时测试计数为0。
执行命令
write-output "test to run: $test" nunit3-console.exe "Tests\SystemTests\bin\x64\Debug\SystemTests.dll" --test="$test"
输出结果
test to run: SystemTests.Tests.AutomaticListTests.TestAutomaticLists("4.6","20180001 V320") NUnit Console 3.16.3 (Release) Copyright (c) 2022 Charlie Poole, Rob Prouse Thursday, July 6, 2023 2:14:03 PM Runtime Environment OS Version: Microsoft Windows NT 6.2.9200.0 Runtime: .NET Framework CLR v4.0.30319.42000 Test Files Tests\SystemTests\bin\x64\Debug\SystemTests.dll Test Filters Test: SystemTests.Tests.AutomaticListTests.TestAutomaticLists(4.6,20180001 V320) Run Settings DisposeRunners: True WorkDirectory: D:\workspaces\vacam\vacam ImageRuntimeVersion: 4.0.30319 ImageTargetFrameworkName: .NETFramework,Version=v4.7.2 ImageRequiresX86: False ImageRequiresDefaultAppDomainAssemblyResolver: False TargetRuntimeFramework: net-4.7.2 NumberOfTestWorkers: 4 Test Run Summary Overall result: Passed Test Count: 0, Passed: 0, Failed: 0, Warnings: 0, Inconclusive: 0, Skipped: 0 Start time: 2023-07-06 12:14:03Z End time: 2023-07-06 12:14:05Z Duration: 1.477 seconds Results (nunit3) saved as TestResult.xml
排查情况
已在执行测试的节点上再次调用--explore确认目标测试用例存在,推测是--test选项的调用方式有误,寻求解决帮助。
内容的提问来源于stack exchange,提问作者Notten
相关产品推荐
相关产品推荐

