java.lang.IllegalStateException.When using EasyMock!

V

vysh

Hi everyone,
I am using EasyMock in my junit testcases.But it
is giving an exception, which I failed to resolve.

This is my code
------------------------


SOAPHeader unsubHead =
currCntxt.getMessage().getSOAPHeader();

Here currCntxt is a MessageContext object.I need to expect this
particular method.

My test class contains this code.

MessageContext currCntxt =
EasyMock.createMock(MessageContext.class);
SOAPHeader sphead =
EasyMock.createMock(SOAPHeader.class);


EasyMock.expect(currCntxt.getMessage().getSOAPHeader()).andReturn(sphead).once();

replay(currCntxt);
replay(sphead);

but its giving the follwing exception.

Caused an ERROR
0 matchers expected, 1 recorded.
java.lang.IllegalStateException: 0 matchers expected, 1 recorded.
at
org.easymock.internal.ExpectedInvocation.createMissingMatchers(ExpectedInvocation.java:
42)
at
org.easymock.internal.ExpectedInvocation.<init>(ExpectedInvocation.java:
34)
at
org.easymock.internal.ExpectedInvocation.<init>(ExpectedInvocation.java:
26)
at org.easymock.internal.RecordState.invoke(RecordState.java:64)
at
org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:
24)
at
org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:
56)

It would me helpful if anyone could put some lights on the issue.

thanks,
vysh
 
G

GArlington

Hi everyone,
I am using EasyMock in my junit testcases.But it
is giving an exception, which I failed to resolve.

This is my code
------------------------

SOAPHeader unsubHead =
currCntxt.getMessage().getSOAPHeader();

Here currCntxt is a MessageContext object.I need to expect this
particular method.

My test class contains this code.

MessageContext currCntxt =
EasyMock.createMock(MessageContext.class);
SOAPHeader sphead =
EasyMock.createMock(SOAPHeader.class);

EasyMock.expect(currCntxt.getMessage().getSOAPHeader()).andReturn(sphead).once();

replay(currCntxt);
replay(sphead);

but its giving the follwing exception.

Caused an ERROR
0 matchers expected, 1 recorded.
java.lang.IllegalStateException: 0 matchers expected, 1 recorded.
at
org.easymock.internal.ExpectedInvocation.createMissingMatchers(ExpectedInvocation.java:
42)
at
org.easymock.internal.ExpectedInvocation.<init>(ExpectedInvocation.java:
34)
at
org.easymock.internal.ExpectedInvocation.<init>(ExpectedInvocation.java:
26)
at org.easymock.internal.RecordState.invoke(RecordState.java:64)
at
org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:
24)
at
org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:
56)

It would me helpful if anyone could put some lights on the issue.

thanks,
vysh


As far as I can see your problem is here:
EasyMock.expect(currCntxt.getMessage().getSOAPHeader()).andReturn(sphead).once();
should be
EasyMock.expect(currCntxt.getMessage().getSOAPHeader()).andReturn(sphead.class).once();
if you are checking for type, or you should currCntxt message
SOAPHeader to sphead ifyou are expecting the value...
 
L

Lew

GArlington said:
As far as I can see your problem is here:
should be
EasyMock.expect(currCntxt.getMessage().getSOAPHeader()).andReturn(sphead.class).once();
if you are checking for type, or you should currCntxt message
SOAPHeader to sphead ifyou are expecting the value...

If 'sphead' is a class, it should be spelled with an initial upper-case
letter, by convention. Likewise, the 'H' of 'Head' should be upper case, by
convention.

If 'sphead' is a variable, the 'H' should still be upper case (by convention),
and the class should be obtained through the instance method 'getClass()'
instead of the class variable 'class'.
 
R

Roedy Green

If 'sphead' is a class, it should be spelled with an initial upper-case
letter, by convention. Likewise, the 'H' of 'Head' should be upper case, by
convention.
If 'sphead' is a variable, the 'H' should still be upper case (by convention),
and the class should be obtained through the instance method 'getClass()'
instead of the class variable 'class'.
see http://mindprod.com/jgloss/codingconventions.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top