nant:单个nantit2目标

时间:2017-09-18 11:16:49

标签: c# nunit nant

我们正在使用nant来构建我们的源代码并运行单元测试(nunit 2.5)。在nant构建文件中,我们为不同的单元测试程序集提供了单独的 nunit2 目标。

<each message="Run Test 1" />
<nunit2 verbose="true">
    <formatter type="Plain" />
    <test assemblyname="Test1.dll" />
</nunit2>

<each message="Run Test 2" />
<nunit2 verbose="true">
    <formatter type="Plain" />
    <test assemblyname="Test2.dll" />
</nunit2>

在Team City构建服务器上,它会导致性能问题 - 每个此类目标都会强制分别加载Nunit runner。

有可能在一个 nunit2 目标中合并测试:

<nunit2 verbose="true">
    <formatter type="Plain" />
    <test assemblyname="Test1.dll" />
    <test assemblyname="Test2.dll" />
</nunit2>

但是,如果没有 echo 语句,这种情况下的输出对我们来说不够明确。

有没有办法让一个 nunit2 目标并为每个测试指定自定义消息?如下所示:

<nunit2 verbose="true">
    <formatter type="Plain" />
    <each message="Run Test 1" />
    <test assemblyname="Test1.dll" />
    <each message="Run Test 2" />
    <test assemblyname="Test2.dll" />
</nunit2>

1 个答案:

答案 0 :(得分:0)

我发现单元测试更详细的唯一方法是在nunit2目标上添加标签属性

<nunit2 verbose="true" labels="true">
    <formatter type="Plain" />
    <test assemblyname="Test1.dll" />
    <test assemblyname="Test2.dll" />
</nunit2>

因此,nant将以下列格式输出所有运行单元测试

***** Test1.Test1.Ctor_Test
***** Test2.Test2.Ctor_Test
Tests run: 2, Errors: 0, Failures: 0, Time: 0.123 seconds
  Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0