我正在执行一大串包含测试的许多固定装置。在每个测试中,都有基于NUnit属性将任何错误记录到文件中的代码。一旦执行完成,该文件包含所有的错误以一种很好的格式发送给顾问。
首先,我需要一个钩子来删除文件的前一个副本,以便文件可以新生成。如果这是一系列的测试在一个单一的夹具,它将是一个芯片射击-把它在夹具的设置。但是我需要这几十个测试装置来共享一个共同的文件,所以把它放在夹具安装中是行不通的。
第二,这感觉就像重新发明了wheel...if --有一些很棒的NUnit标准,可以将结果分流到另一个输出,我很想听听。
蒂娅。
发布于 2014-04-29 12:43:06
最简单的方法是将您的套件生成的许多NUnit文件合并到一个单独的文件中。这个答案链接到创建用于将合并作为MSBuild任务执行的图书馆。
第一步是编译这个库(在我尝试时没有问题),并将构建的程序集放在一个目录中,其中包含以下MSBuild项目(或类似的内容):
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0"
DefaultTargets="UnitTest">
<UsingTask AssemblyFile="$(MSBuildProjectDirectory)\15below.NUnitMerger.dll"
TaskName="FifteenBelow.NUnitMerger.MSBuild.NUnitMergeTask" />
<Target Name="UnitTest">
<ItemGroup>
<ResultsFiles Include="$(MSBuildProjectDirectory)\nunit-result*.xml" />
</ItemGroup>
<NUnitMergeTask FilesToBeMerged="@(ResultsFiles)"
OutputPath="$(MSBuildProjectDirectory)\TestResult.xml" />
</Target>
</Project>在这里,我假设您的文件设置在同一个目录中,即:

一旦NUnit结果在目录中,从该目录运行MSBuild以获得输出:
msbuild merge.msbuildproj结果文件(这里是TestResult.xml)具有与来自NUnit的常规Xml输出相同的格式,但是有来自输入文件的所有test-suite type=Assembly节点。
https://stackoverflow.com/questions/23296454
复制相似问题