1

我正在尝试从命令行运行 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&TestResult.txt更改为Sample.xml& ,但没有运气。Sample.txt--result--out

4

3 回答 3

1

哦,我的坏:)

我在 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

以上解决了我的问题并且工作得很好。

于 2018-10-18T07:06:50.420 回答
1

您正在寻找的是--work选项。

前任。:nunit3-console ./bin/release/myproject.dll --work=./MyTestFolder

您的测试路径将是./MyTestFolder/TestResult.xml

于 2019-07-23T18:27:13.220 回答
1

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

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

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

可以想象对 NUnit 进行更改,从而使用 of--out阻止将输出合并到 XML 文件中,但这对很多人来说是破坏性的。

底线:一旦将输出添加到 XML 结果文件中,该--out参数就变得有些无用了。:-(

于 2018-10-17T14:51:11.810 回答