← Back to team overview

nunit-core team mailing list archive

[Bug 532536] [NEW] ExpectedException specification

 

Public bug reported:

I subclassed ExpectedException attribute passing to super constructor
AssertionException type.

Now if I attibute my test method with both my subclass and
ExpectedException(AssertionException) I get runner and attribute order
dependent behaviour:

  - R# runner interpretes all attributes in sequence so a test method
body that passes is toggled to failure by the first ExpectedException
attribute then the failure is toggled back to pass by the next
ExpectedException attribute.

  - Nunit 2.5.3 gui-runner seems to interpret just the first one

for:

    <Test()> <ObservedBehaviour("Code generator produces duplicates.")> <ExpectedException(GetType(AssertionException))> _
    Public Sub ObservedBehaviourAfterChangeTest()

yielding:

     Observed behaviour has been changed. Please balance the value of the change with compatibility breach costs.
     Originally observed behaviour: Code generator produces duplicates.
     NUnit.Framework.AssertionException was expected

while for

    <Test()> <ExpectedException(GetType(AssertionException))> <ObservedBehaviour("Code generator produces duplicates.")> _
    Public Sub ObservedBehaviourAfterChangeTest()

returning:

    NUnit.Framework.AssertionException was expected

The documentation deserves a clarification.

** Affects: nunitv2
     Importance: Undecided
         Status: New

-- 
ExpectedException specification
https://bugs.launchpad.net/bugs/532536
You received this bug notification because you are a member of NUnit
Developers, which is subscribed to NUnit V2.

Status in NUnit V2 Test Framework: New

Bug description:
I subclassed ExpectedException attribute passing to super constructor AssertionException type.

Now if I attibute my test method with both my subclass and ExpectedException(AssertionException) I get runner and attribute order dependent behaviour: 

  - R# runner interpretes all attributes in sequence so a test method body that passes is toggled to failure by the first ExpectedException attribute then the failure is toggled back to pass by the next ExpectedException attribute. 

  - Nunit 2.5.3 gui-runner seems to interpret just the first one 

for:

    <Test()> <ObservedBehaviour("Code generator produces duplicates.")> <ExpectedException(GetType(AssertionException))> _
    Public Sub ObservedBehaviourAfterChangeTest()

yielding:

     Observed behaviour has been changed. Please balance the value of the change with compatibility breach costs.
     Originally observed behaviour: Code generator produces duplicates.
     NUnit.Framework.AssertionException was expected

while for

    <Test()> <ExpectedException(GetType(AssertionException))> <ObservedBehaviour("Code generator produces duplicates.")> _
    Public Sub ObservedBehaviourAfterChangeTest()

returning:

    NUnit.Framework.AssertionException was expected

The documentation deserves a clarification.





Follow ups

References