Ответ 1
если вы используете предложение with
для любого параметра, вы должны использовать их для всех параметров, попробуйте
oneOf (shopAccount).enter( с (equalTo (100)), с любым (String.class));
С JMock:
context.checking(new Expectations() {{
// Other oneOf() will() statements ...
oneOf(shopAccount).enter(100, with(any(String.class)));
will(returnValue(true));
// Other oneOf() will() statements ...
}});
Во время выполнения будет создано следующее исключение:
java.lang.IllegalArgumentException: не всем параметрам были предоставлены явные совпадения: либо все параметры должны быть заданы с помощью сопоставлений, либо все должны указываться значениями, вы не можете смешивать совпадения и значения.
Почему я не могу так поступать? используя with(any(Klass.class))
?
если вы используете предложение with
для любого параметра, вы должны использовать их для всех параметров, попробуйте
oneOf (shopAccount).enter( с (equalTo (100)), с любым (String.class));