【问题标题】:NUnit console run all categories (where: cat = ' ')NUnit 控制台运行所有类别(其中:cat = '')
【发布时间】:2018-12-07 09:03:32
【问题描述】:
我有一套 NUnit 测试,我正在使用 Jenkins 和 MSBuild 来运行它们。我有许多测试类别,有时我只想运行一个类别,有时我想运行所有类别。类别参数由 Jenkins 提供。
我想运行所有类别时遇到问题。如果没有提供类别,我会得到这个条件where: cat== 并且构建失败。
如果提供了类别,一切都很好。
有没有办法告诉 nunit 控制台运行所有测试类别?类似where: cat==*。
【问题讨论】:
标签:
jenkins
nunit
nunit-3.0
nunit-console
【解决方案1】:
NUnit 控制台选项--where 采用以测试选择语言编写的参数。 (TSL) 像任何其他计算机语言一样,它有自己的语法,如果你不遵循它就会出错。表达式 cat== 不是合法的 TSL。就像您在 C# 程序中编写 if (cat==) 一样。
如果您不想进行任何类别选择,那么您根本不应该在 where 子句中使用 cat==。如果您根本不想做任何选择而只想运行所有测试,那么您不应该在命令行上使用--where。
如果 Jenkins 实际上是为您创建命令行,那么您必须弄清楚如何告诉它不使用--where 选项。我不使用 Jenkins,但我敢打赌那里的文档会告诉你如何去做。我使用的大多数 CI 系统都是通过在您输入类别的空间中不填写任何内容来实现的。