← Back to team overview

nunit-core team mailing list archive

[Bug 532536] Re: ExpectedException specification

 

For NUnit 3.0 we should re-address this. Options...

1) Allow multiple ExpectedExceptionAttributes on a method, where any of the given exceptions satisfies the test
2) Verify that only one ExpectedException is present and give an error if there are more

This may apply to other attributes as well.

** Also affects: nunit-3.0
   Importance: Undecided
       Status: New

** Tags added: feature framework

-- 
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 Test Framework: New
Status in NUnit V2 Test Framework: Won't Fix

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.





References