我期待從模擬中調用setAttribute時遇到問題。具有setAttribute的JMock匹配器(字符串,對象)
MyClass {
public final void setAttribute(String name, Object value) {
// Do Something
}
myClass.setAttribute("Key", "Value");
在調用setAttribute操作時,String作爲值傳遞。 我有一個名爲mockMyClass的上述類的模擬和我的期望塊我有下面的代碼。
oneOf(mockMyClass).setAttribute(with(equal("Key")), with(equal("Value")));
我一直在使用任何也嘗試,只是爲了看看通用的作品,但也給予了同樣的問題。
異常我越來越:
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
最初我是想沒有任何的匹配,並得到例外:
oneOf(mockMyClass).setAttribute("Key", "Value");
org.jmock.api.ExpectationError: unexpected invocation
如何得到這個工作?我打算檢查實際值。