如何在dotcover命令行中为NUnit-console.exe指定参数



我正在使用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.4TestReport$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.4TestReport$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'

您只需要引用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.4TestReport$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.4TestReport$testName.dcvr"

最新更新