即使测试通过,如何获得NUnit预期和实际结果?

时间:2017-10-18 00:43:44

标签: c# unit-testing nunit nunit-3.0

我们正在尝试通过解析输出.xml文件从NUnit测试生成自动化测试报告。

如果测试失败,则打印输出:

<test-case id="1013" name="TestThatFails" fullname="TestThatFails" methodname="TestThatFails" classname="TestThatFails" runstate="Runnable" seed="921492075" result="Failed" start-time="2017-10-17 01:34:26Z" end-time="2017-10-17 01:34:33Z" duration="6.367749" asserts="1">
    <failure>
        <message><![CDATA[  Expected: 136      But was:  135    ]]>/message>
        <stack-trace><![CDATA[   *stack trace here*    ]]></stack-trace>
    </failure>
    <assertions>
        <assertion result="Failed">
            <message><![CDATA[  Expected: 136      But was:  135    ]]>/message>
            <stack-trace><![CDATA[   *stack trace here*   ]]></stack-trace>
        </assertion>
    </assertions>
</test-case>

但是,如果测试通过,则不会写入有关预期值或实际值的信息:

<test-case id="1014" name="TestThatPasses" fullname="TestThatPasses" methodname="TestThatPasses" classname="TestThatPasses" runstate="Runnable" seed="1565993596" result="Passed" start-time="2017-10-17 01:34:33Z" end-time="2017-10-17 01:34:33Z" duration="0.003047" asserts="2" />

有没有办法获得所有断言,即使测试通过了?

1 个答案:

答案 0 :(得分:1)

如您所见,从NUnit获取报告的方法是阅读XML输出。该输出包含有关失败的断言的信息,但不包含有关失败的断言的信息。添加关于传递断言的信息将是一个新功能,我们设想最终做的但是没有当前的时间表。申请该功能将是一种很好的方式,可以尽快实现。