即使测试通过,如何获得NUnit的预期结果和实际结果?
问题描述:
我们试图通过解析输出.xml文件来从我们的NUnit测试生成自动化测试报告。即使测试通过,如何获得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" />
是否有任何方式来得到所有的断言,即使测试通过了?
答
正如您所看到的,从NUnit获取报表的方式是通过读取XML输出。该输出包含有关失败的断言的信息,但不包括那些成功的断言。添加关于传递断言的信息将是一个新功能,我们最终设想的一个新功能,但目前没有安排。请求该功能将是一个很好的方法,使其更快地实现。
好,请求。感谢查理! –