首页 > 解决方案 > NUnit 测试列表指定要排除的测试

问题描述

因此,我使用 NUnit 开始了相当多的 UI 测试,为了控制在什么环境中运行什么测试,我们使用了一个测试列表。

测试列表当前包含测试运行包含的测试列表,但我宁愿它指定不应该运行的测试,因为数量要低得多并且更容易跟上。我使用 NUnit 命令行运行器,这是我的命令。

"Project\bin\KahuaLFT.dll" --testlist="Project\Main\Utilities\TestSuites\BETA.txt" --where "cat = 'Smoke'" --params "Env=BETA"

BETA.txt 列出了将包含的所有测试,但是有没有办法改变它,所以它会忽略 --testlist 中指定的测试?

标签: c#nunitnunit-console

解决方案


我正在考虑做类似的事情,虽然我从未实施过,但我想我会分享我的想法......

  • 使用--where 参数和不带--testlist 参数执行nunit-console-runner,并添加--explore 参数。这不会运行任何测试,但会返回要执行的测试列表

因此,对于您的示例,它将是:

nunit-console.exe "Project\bin\KahuaLFT.dll" --where "cat = 'Smoke'" --expore="testlist.txt;format=cases"
  • 获取上一条语句返回的文本文件,使用 Powershell 或您喜欢的任何方式打开,然后删除与您在 BETA.txt 中的列表匹配的所有条目
  • 再次调用 nunit-console,将修改后的 testlist.txt 作为 --testlist 参数传入

推荐阅读