如何使用命令行参数将结果文件夹设置为nunit控制台?
我正在尝试从命令行运行NUnit测试,并尝试将结果保存在如何使用命令行参数将结果文件夹设置为nunit控制台?,nunit,nunit-3.0,nunit-console,nunit-2.5,Nunit,Nunit 3.0,Nunit Console,Nunit 2.5,我正在尝试从命令行运行NUnit测试,并尝试将结果保存在TestResults文件夹下。我尝试过使用以下命令,但没有在预期的文件夹下创建测试结果。而是测试结果仅在当前运行文件夹下创建 cmd /k nunit3-console.exe test\bin\Debug\test.dll --where cat=test --labels=All --work=TestResults --out=TestResult.txt --result=TestResult.xml;format=nunit2
TestResults
文件夹下。我尝试过使用以下命令,但没有在预期的文件夹下创建测试结果。而是测试结果仅在当前运行文件夹下创建
cmd /k nunit3-console.exe test\bin\Debug\test.dll --where cat=test --labels=All --work=TestResults --out=TestResult.txt --result=TestResult.xml;format=nunit2
cmd /k nunit3-console.exe test\bin\Debug\test.dll --where cat=test --labels=All --work=TestResults --out=TestResults\TestResult.txt --result=TestResults\TestResult.xml;format=nunit2
cmd /k nunit3-console.exe test\bin\Debug\test.dll --where cat=test --labels=All --out=TestResults\TestResult.txt --result=TestResults\TestResult.xml;format=nunit2
同样,我也尝试过通过更新--result
&out
参数,将默认的测试结果文件名从TestResult.xml
更改为Sample.xml
&Sample.txt
,但是运气不好。--out
选项已经存在很长时间了。它会导致测试的任何输出(通常会进入控制台)写入指定的文件
--result
选项替换旧的NUnit V2--xml
选项,并指示xml输出文件应写入的位置
我认为您的问题源于这样一个事实,即您的测试没有生成“通常会发送到控制台”的输出,这是因为NUnit3将几乎所有的测试输出发送到XML结果文件。生成的唯一控制台输出是写入stderr的输出或使用TestContext.Error
或TestContext.Progress
创建的输出
可以想象对NUnit的一种更改,即使用--out
将停止将输出合并到XML文件中,但这对许多人来说是一种破坏
底线:一旦将输出添加到XML结果文件中,--out
参数就变得有些无用了-(哦,我的错:)
我在CAT之后缺少double==导致此问题
cmd /k nunit3-console.exe test\bin\Debug\test.dll --where cat==test --labels=All --work=TestResults --out=TestResult.txt --result=TestResult.xml;format=nunit2
上面的一个解决了我的问题,效果非常好。您正在寻找的是--work选项 示例:
nunit3控制台。/bin/release/myproject.dll--work=./MyTestFolder
测试路径将是
/MyTestFolder/TestResult.xml
,最上面的版本应该可以工作。TestResults文件夹存在吗?是的,TestResults文件夹存在。它仍然只在TestResults文件夹外部创建结果,而不是在TestResults文件夹内部。而且它只是创建TestResult.xml,TestResult.txt丢失了!听起来有问题-我建议您在nunit控制台repo中发布错误报告。我建议使用--trace=Debug
选项来生成日志,并将这些日志包含在bug报告中。