如何使用命令行参数将结果文件夹设置为nunit-console?

时间:2018-10-17 08:40:38

标签: 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

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

同样,我还尝试通过更新TestResult.xml和{{1来将默认测试结果文件名从TestResult.txtSample.xml更改为Sample.txt--result }}参数,但没有运气。

3 个答案:

答案 0 :(得分:1)

您正在寻找的是-工作选项。

例如:nunit3-console ./bin/release/myproject.dll --work=./MyTestFolder

您的测试路径为./MyTestFolder/TestResult.xml

答案 1 :(得分:0)

--out选项已经存在很长时间了。它会导致测试的任何输出(通常会进入控制台)写入指定的文件。

--result选项替代了旧的NUnit V2 --xml选项,并指示应将XML输出文件写入何处。

我认为您的问题是由于测试没有产生“通常会进入控制台的输出”这一事实引起的。这是因为NUnit 3几乎将所有测试输出发送到XML结果文件。产生的唯一控制台输出是写到stderr或使用TestContext.ErrorTestContext.Progress创建的输出。

可以想象对NUnit进行的更改,从而使用--out停止,将输出并入XML文件,但这对于很多人来说是很麻烦的。 / p>

底线:将输出添加到XML结果文件后,--out参数变得有点用处。 :-(

答案 2 :(得分:0)

哦,我的坏人:)

在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

以上解决了我的问题,效果很好。