我尝试通过控制台运行测试,但它不工作。我认为我需要修复测试参数格式。参数值可以有几个字。您可以帮助正确的字符串运行带有参数的测试吗?
我试过改变引号和逗号,但没有用。
示例:
dotnet test myProject --filter "Name=MyTest('My parameter value',null)"
错误:
MSBUILD : error MSB1006: Property is not valid.
Switch: null)
For switch syntax, type "MSBuild -help"
我也曾尝试编码逗号到网址风格,但它不太工作...
示例:
dotnet test myProject --filter Name=MyTest('My parameter value'%2Cnull)"
错误:
An exception occurred while invoking executor 'executor://nunit3testexecutor/': Incorrect format for TestCaseFilter Missing Operator '|' or '&'. Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
只有当测试有参数时才有问题。没有参数时,所有工作都正常,就像教程和官方文档中描述的那样。
2条答案
按热度按时间nue99wik1#
您正在运行一个命令行程序,因此您键入的任何内容都必须经过操作系统的命令行处理,然后才能到达要处理的
dotnet
命令。当然,命令行处理在每个操作系统上是不同的,你还没有说你使用的是什么操作系统。
另一个你没有展示的是
MyTest
方法的参数的类型。NUnit将使用它的字符串表示,这就是为什么我们需要这些信息来给予一个好的答案。所以我将继续假设参数是一个字符串。根据以上假设,您需要键入类似以下内容...
我没有包括第二个参数,它是空的,因为我甚至没有足够的信息来猜测。:-)
gojuced72#
我已经找到了自己的解决方案。因为在控制台中找到如何使用引号是如此复杂(也许NUnit不可能),我决定使用类别作为测试的ID。在这种情况下,每个测试都有一个唯一的ID,我可以通过“类别”过滤器在控制台中轻松运行它们。