Hi folks.
There's an odd recursion bug happening in the newly-factored behaviour
verification. I broke a behaviour method in MultiStepScenarioBehaviour
and found it reported errors in no fewer than six other behaviour
methods! Note - no change to (working) code, just a broken behaviour
method.
So I set a breakpoint in one of the other spurious methods, and found
there's some weird recursion going on (stack trace follows). Can someone
take a look at this please?
Note: to reproduce the bug, change false to true on line 224 of
MultiStepScenarioBehaviour and run jbehave.AllBehaviours:
event.expects("containsMocks").will(returnValue(*true*));
Thanks,
Dan
MultiStepScenarioBehaviour.shouldPerformGiven() line: 11
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 585
BehaviourMethod.invokeBehaviourMethod() line: 56
BehaviourMethod.verifyTo(BehaviourListener) line: 41
BehaviourVerifier.verifyBehaviour(Behaviour) line: 28
MethodVerifier.handleMethod(BehaviourMethod) line: 21
BehaviourClass.traverseMethodsWith(MethodHandler) line: 114
BehaviourClass.verifyTo(BehaviourListener) line: 68
MethodVerifier.handleClass(BehaviourClass) line: 17
BehaviourClass.traverseMethodsWith(MethodHandler) line: 107
BehaviourClass.verifyTo(BehaviourListener) line: 68
MethodVerifier.handleClass(BehaviourClass) line: 17
BehaviourClass.traverseMethodsWith(MethodHandler) line: 107
BehaviourClass.verifyTo(BehaviourListener) line: 68
MethodVerifier.handleClass(BehaviourClass) line: 17
BehaviourClass.traverseMethodsWith(MethodHandler) line: 107
BehaviourClass.verifyTo(BehaviourListener) line: 68
BehaviourVerifier.verifyBehaviour(Behaviour) line: 28
Run.verifyBehaviour(Class, String) line: 55
Run.verifyBehaviour(String) line: 45
Run.main(String[]) line: 64