问题
With JMock:
context.checking(new Expectations() {{
// Other oneOf() will() statements ...
oneOf(shopAccount).enter(100, with(any(String.class)));
will(returnValue(true));
// Other oneOf() will() statements ...
}});
The following exception will be raised during execution:
java.lang.IllegalArgumentException: not all parameters were given explicit matchers: either all parameters must be specified by matchers or all must be specified by values, you cannot mix matchers and values.
Why i cannot do this way? using with(any(Klass.class))
?
回答1:
if you use a with
clause for any parameter, you must use them for all the parameters, try
oneOf(shopAccount).enter(with(equalTo(100)), with(any(String.class)));
来源:https://stackoverflow.com/questions/5761529/about-withanyclass-class-with-jmock