我正在尝试从命令行运行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.txt
和Sample.xml
更改为Sample.txt
和--result
}}参数,但没有运气。
答案 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.Error
或TestContext.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
以上解决了我的问题,效果很好。