如何使用命令行参数将结果文件夹设置为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

我正在尝试从命令行运行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

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报告中。