C# SpecFlow - Pickles 文档测试结果

C# SpecFlow - Pickles Docs Test Results

目前我正在尝试从 SpecFlow 验收测试中获取结果并将它们与 Pickles Docs 集成。我所拥有的是在构建生成的泡菜网站上。 然后发生的是在每次测试中我都有这个带有文本 "Inconclusive":

的图标

然后如果我按结果转到场景摘要,我会得到结果:

所以实际上它显示了所有场景,但不是 运行 他们查看哪些通过了哪些未通过。

现在我开始阅读 PicklesDocs 文档,我认为它可以满足我的需要,它是 here。当我执行命令 Pickles.exe --test-results-format=xunitPickles.exe -trfmt=xunit 时,我收到的仍然是:

之后它还在生成文件 "index.html",但它只显示测试而没有任何结果。

你知道我如何配置它才能工作吗?我应该使用 NUnit 测试结果还是使用 specflow.exe nuniexecutionreport 生成结果,或者 pickles 文档也可以这样做?

Note: I am implementing steps using NUnit.

谢谢

我是 Pickles 的维护者,我会尽力帮助您。

首先,Pickles 不会 运行 为您进行测试。您需要先 运行 测试,并记下测试输出文件的位置。

获得测试结果文件后,您需要通过添加 --link-results-file 参数(或 --lr)来指示 Pickles 使用它。

您还需要告诉 Pickles 在 运行 生成结果文件时您使用了哪个单元测试框架和版本。你写道你正在使用 NUnit。假设您使用的是最新版本的 NUnit(或者至少是 3.x 版本),--trfmt 参数的正确值是 nunit3.

有帮助吗?如果您需要更多帮助,请提出更多问题。

目前 Pickles Docs 不支持来自面向 .NET Core 或 .NET Standard 的程序集的测试结果输出。可以在 https://github.com/picklesdoc/pickles/blob/develop/CONTRIBUTING.md

上做出贡献

我发现将 Pickles 与 .Net Core 一起使用的唯一解决方案是使用另一个记录器,例如 XunitXml.TestLogger here。您将必须:

  • 引用这个 Nuget 包
  • 运行 你的测试:dotnet test --logger:"xunit;LogFilePath=TestsResults.xml"
  • 运行 泡菜使用格式 xunit2