Comment 0 for bug 532536

Revision history for this message
Petr Kuzel (petrkuzel) wrote :

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.