Скажем, я издеваюсь над этим классом Foo
class Foo {
public void doThing(Bar bar) {
// ...
}
}
и это Bar
class Bar {
private int i;
public int getI() { return i; }
public void setI(int i) { this.i = i; }
}
Я знаю, что могу использовать функцию проверки Mockito, чтобы узнать, был ли Foo#doThing(Bar) на макет с конкретным экземпляром Bar или любой Bar с Mockito.any(Bar.class), но есть ли способ убедиться, что это было вызываемый любой Bar но с определенным значением для i или Bar#getI()?
То, что я знаю, возможно:
Foo mockedFoo = mock(Foo.class);
Bar someBar = mock(Bar.class);
...
verify(mockedFoo).doThing(someBar);
verify(mockedFoo).doThing(any(Bar.class);
Я хочу знать, есть ли способ проверить, что Bar с определенными вещами, истинными в этом отношении, был передан в качестве аргумента.