gpt4 book ai didi

nunit - 是否有合并 NUnit 结果文件的工具?

转载 作者:行者123 更新时间:2023-12-04 11:16:15 35 4
gpt4 key购买 nike

由于不清楚的原因,我的 Nunit 测试装置不能在一次运行中执行,所以我被迫在单独的运行中执行一些测试。然而,这意味着测试结果被拆分到多个输出文件中。

是否有可以将 NUnit 结果 XML 文件合并为单个 XML 文件的工具?

我已经尝试使用现有的 Nunit-summary 工具,但这只是使用给定的 XSL 文件顺序解析 XML 文件并将结果连接为一个大文件。

相反,我希望它首先将测试用例的结果合并/分组到正确的命名空间/测试装置中,然后将其提供给 XSLT 处理器。这样,即使不是在一次运行中收集所有测试结果,也应通过夹具显示它们。

最佳答案

这个可能来不及帮你了,不过我们最近遇到了类似的问题,写了一个开源的小工具来帮忙:https://github.com/15below/NUnitMerger

从自述文件:

在 MSBuild 中使用

加载任务:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0"
DefaultTargets="Build">
<UsingTask AssemblyFile="$(MSBuildProjectDirectory)\..\Tools\MSBuild\15below.NUnitMerger.dll" TaskName="FifteenBelow.NUnitMerger.MSBuild.NUnitMergeTask" />
...

在目标中提供一个文件数组:
  <Target Name="UnitTest" DependsOnTargets="OtherThings">
... Generate the individual files here in $(TestResultsDir) ...

<ItemGroup>
<ResultsFiles Include="$(TestResultsDir)\*.xml" />
</ItemGroup>

<NUnitMergeTask FilesToBeMerged="@(ResultsFiles)" OutputPath="$(MSBuildProjectDirectory)\TestResult.xml" />
</Target>

在 OutputPath 中查找生成的组合结果。

在 F# 中使用

创建一个 F# 控制台应用程序并添加 15below.NUnitMerger.dll、System.Xml 和 System.Xml.Linq 作为引用。
open FifteenBelow.NUnitMerger.Core
open System.IO
open System.Xml.Linq

// All my files are in one directory
WriteMergedNunitResults (@"..\testdir", "*.xml", "myMergedResults.xml")

// I want files from all over the place
let myFiles = ... some filenames as a Seq

myFiles
|> Seq.map (fun fileName -> XDocument.Parse(File.ReadAllText(fileName)))
|> FoldDocs
|> CreateMerged
|> fun x -> File.WriteAllText("myOtherMergedResults.xml", x.ToString())

关于nunit - 是否有合并 NUnit 结果文件的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492688/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com