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

Reply via email to