【问题标题】:C# SpecFlow - Pickles Docs Test ResultsC# SpecFlow - Pickles Docs 测试结果
【发布时间】:2020-06-17 20:39:54
【问题描述】:

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

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

所以实际上它显示了所有场景,但它并没有运行它们来查看哪些通过,哪些失败。

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

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

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

注意:我正在使用 NUnit 实施步骤。

谢谢

【问题讨论】:

    标签: c# .net nunit specflow picklesdoc


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 您好,感谢您的回复,这对我帮助很大,但接下来的事情是,它是否适用于“.trx”文件或转换为 xml?因为我有以下上一期stackoverflow.com/questions/46051922/…。所以毕竟我会总结为,我得到了带有验收测试的 .NET Core 2.0 程序集 - SpecFlow + NUnit(可以用其他框架替换)并且我想接收结果文件,所以我可以在 pickles 站点中集成或使用它。因此,在线进行成功/失败测试。谢谢
    • Pickles 支持以下测试结果格式:NUnit 2.x、NUnit 3.x、xUnit 1.x、xUnit 2.x、MSTest、VSTest(MSTest 和 VSTest 都使用 .trx 文件,但它们是内部不同!)Cucumber(Ruby 和 JS)和 SpecFlow+ Runner(以前称为 SpecRun)。不过,我没有使用 .NET Core 设置的经验。
    • 执行命令 "pickles.exe --feature-directory=.\'Acceptance Tests' --output-directory=.\docs --link-results-file=TestResults\TestResult.trx -- test-results-format=nunit3 --documentation-format=html" 似乎有效。所以使用 TestResult.trx 它不会抛出异常,但在结果 index.html 中我仍然只有场景,但没有任何报告说明它们是成功还是失败。
    • 现在我尝试了“pickles.exe --documentation-format=dhtml --feature-directory= --output-directory=.\documentation --link-results-file="\TestResults\TestResult.xml" --test-results-format=nunit3",所以不要将结果生成为“.trx”,而是生成为“.xml”,当我打开“index.html”生成的文件和这又是我收到的内容 =>“prntscr.com/ghdn0o”和“prntscr.com/ghdn8t
    • 这是控制台的输出 => "prntscr.com/ghdnu5"。我认为重要的是我有“合并测试结果?”:“是”,在以前的命令行执行中,这是“否”。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-23
        • 1970-01-01
        • 2017-04-20
        相关资源
        最近更新 更多