关于with(任何(Class.class)))与JMock
使用JMock:
context.checking(new Expectations() {{ // Other oneOf() will() statements ... oneOf(shopAccount).enter(100, with(any(String.class))); will(returnValue(true)); // Other oneOf() will() statements ... }});
执行期间将引发以下exception:
java.lang.IllegalArgumentException:并非所有参数都被赋予显式匹配器:要么所有参数都必须由匹配器指定,要么所有参数都必须由值指定,您不能混合使用匹配器和值。
为什么我不能这样做? 使用with(any(Klass.class))
?
如果对任何参数使用with
子句,则必须将它们用于所有参数,请尝试
oneOf(shopAccount).enter( with(equalTo(100)) ,with(any(String.class)));