About with(any(Class.class))) with JMock

2019-02-16 08:33发布

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条回答
趁早两清
2楼-- · 2019-02-16 09:05

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)));

查看更多
登录 后发表回答