NUnit Console命令行正则表达式是否区分大小写?

时间:2018-06-24 21:38:24

标签: regex jenkins mono nunit nunit-3.0

我正在Jenkins / Mono上运行NUnit测试,这就是我的命令:

mono /opt/NUnit-3.8.0/nunit3-console.exe $WORKSPACE/ProjectName/bin/$CONFIG/ProjectName.dll --where="test~=$TEST_NAME" --config=$CONFIG

这个想法是能够使用正则表达式选择测试。现在,我想选择使用Regex的测试,但忽略大小写。我尝试过这样的事情:

TEST_NAME = ^.*(?i)something(?-i).*$

还尝试了:

TEST_NAME = ^.*something.*$/i

但是我遇到了“意外标记'('”和“意外标记'/'”错误。是否可以使用不区分大小写的修饰符?

1 个答案:

答案 0 :(得分:2)

NUnit console runner --where=EXPRESSION使用特定的test selection language(TSL),其中

  

表示要运行哪些测试的表达式。它可以指定测试   名称,类,方法,类别或属性进行比较   运算符==,!=,=〜和!〜的实际值。

     

对于匹配正则表达式,NUnit用户使用.NET的Regex.IsMatch   方法...如here所述。

像这样尝试,并在上面链接的TSL文档中查看示例。

--where "test =~ /(?i).*mytest/"

但是,如果您使用的是NUnit V2,则可能不走运:

  

NUnit V2的驱动程序支持TSL的子集。因为V2 NUnit   框架仅允许过滤测试名称和类别,您可以   只在比较中使用cat和test关键字。此外,   不支持正则表达式运算符=〜和!〜