15
隨着JMock的:關於使用(任何(Class.class)))與JMock的
java.lang.IllegalArgumentException異常:不是所有的參數
context.checking(new Expectations() {{ // Other oneOf() will() statements ... oneOf(shopAccount).enter(100, with(any(String.class))); will(returnValue(true)); // Other oneOf() will() statements ... }});
以下異常將在執行過程中引發的被賦予了明確的匹配器:或者所有參數必須由匹配器指定,或者全部必須由值指定,您不能混合匹配器和值。
爲什麼我不能這樣做?使用with(any(Klass.class))
?
是不是'with(equal(100))',not'equalTo'? – Lukas 2013-01-28 20:28:10
你是指'equals()',那麼這是返回布爾值的Object上的一個方法。 'equalto()'是一個返回匹配器的靜態匹配器方法。 – 2013-02-27 16:35:41
@Lukas'org.jmock.Expectations.equal(T)'和'org.hamcrest.core.IsEqual.equalTo(T)'等價定義(至少在版本jmock-2.5.1和junit-4.8.2中) ,所以兩者都可以工作。 – 2013-03-07 01:40:26