期望任何东西作为参数来模拟使用EasyMock

2022-09-01 10:51:03

使用EasyMock,我希望能够说我希望在我的模拟上调用一个特定的方法,但我不关心用于调用mock的参数。

SomeInterface mock = EasyMock.createMock(SomeInterface.class);
mock.send(/*anything*/);
replay(mock);

/* Perform actions that will eventually invoke mock */

verify(mock);

这可能吗,如何实现?

此外,如果我想接受从特定基类派生的任何对象,如何指定该对象?


答案 1

接受任何对象作为参数:

mock.send(anyObject());

(您可能需要将表达式强制转换为所需的类型。

此外,要接受特定类型的任何对象,请使用:

mock.send(isA(SomeObject.class));

答案 2

此外,如果我想接受从特定基类派生的任何对象,如何指定该对象?

mock.send(anyObject(Myclass.class));

推荐