我正在使用nunit和dotCover进行代码覆盖,如果我们运行nunit-console.exe,我们需要提供如下参数:
& $nunit /nothread /noshadow /labels /domain=None /trace=Info /framework=net-4.0 /process=Separate其中$nunit是nunit-console.exe的路径,但是我正在使用dotcover命令行运行nunit-console.exe,并且我提供了以下参数
&$dotcover cover /TargetExecutable=$testRunner /TargetArguments=$test /Output="D:\JetBrains.dotCover.CommandLineTools.2019.3.4\TestReport\$testName.dcvr" 其中testrunner是nunit-console.exe,$test有到test.dll的路径,但测试在Nunit.exe (UI应用程序)中运行时没有通过,它们正在通过。
有没有办法将所需的参数传递给dotcover脚本中的nunit?因此,当dotcover覆盖nunit时,它将使用指定的参数运行。我尝试了一些这样的变通方法,但它不起作用&$dotcover cover /TargetExecutable=$testRunner /TargetArguments=$test /nothread /noshadow /labels /domain=None /trace=Info /framework=net-4.0 /process=Separate /Output="D:\JetBrains.dotCover.CommandLineTools.2019.3.4\TestReport\$testName.dcvr"
但是它显示了这个错误:
[JetBrains dotCover] Not used command line parameter: 'nothread'
[JetBrains dotCover] Not used command line parameter: 'noshadow'
[JetBrains dotCover] Not used command line parameter: 'labels'
[JetBrains dotCover] Not used command line parameter: 'domain'发布于 2020-04-04 02:34:30
您只需引用NUnit控制台的参数即可。
&$dotcover cover /TargetExecutable=$testRunner /TargetArguments="$test /nothread /noshadow /labels /domain=None /trace=Info /framework=net-4.0 /process=Separate" /Output="D:\JetBrains.dotCover.CommandLineTools.2019.3.4\TestReport\$testName.dcvr"$test本身是否有可能包含引号或空格?在这种情况下,您需要引用它,并确保将引号内的引号转义。这取决于你使用的是什么命令行,但你可能想要像这样的东西……
&$dotcover cover /TargetExecutable=$testRunner /TargetArguments="\"$test\" /nothread /noshadow /labels /domain=None /trace=Info /framework=net-4.0 /process=Separate" /Output="D:\JetBrains.dotCover.CommandLineTools.2019.3.4\TestReport\$testName.dcvr"https://stackoverflow.com/questions/60998899
复制相似问题