2013-10-19 05:11:58 |
Charlie Poole |
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. |
[Issue now tracked at https://github.com/nunit/nunit-framework/issues/18]
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. |
|