nunit: Empty element on failed due to [Timeout]

nunit.framework: 3.13.3

In version 3.12.0 you made it possible to use [Timeout] attribute in tests targeting .NETCore. However, reporting of an error caused by this attribute was and still is different from when the same error occurs in tests targeting .NETFramework:

Stripped of irrelevant for this issue attributes, the reports look as follows:

In net7.0

<test-case id="0-1001" 
           fullname="TestProject1.Tests.Test000" 
           runstate="Runnable" 
           result="Failed" 
           asserts="0"
           label="Test exceeded Timeout value 1000ms.">
  <properties>
    <property name="Timeout" value="1000" />
  </properties>
  <failure />
</test-case> 

In net48:

<test-case id="0-1001"
           fullname="TestProject1.Tests.Test000"
           runstate="Runnable" 
           result="Failed"
           asserts="0">
  <properties>
    <property name="Timeout" value="1000" />
  </properties>
  <failure>
    <message><![CDATA[Test exceeded Timeout value of 1000ms]]></message>
  </failure>
</test-case> 

Note how net7.0 has an empty <failure /> element and a new label attribute not seen in net48 variant.

Would you consider unifying how the failure is reported across different target frameworks?

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 16

Most upvoted comments