使用Mockito使用包含在一组值中的参数调用方法

Bil*_*Man 0 mockito

有没有办法让Mockito验证是否使用闭合集内的参数调用方法.例如,我可以断言一个方法

void addToNotWorthyList(String guitaristName);
Run Code Online (Sandbox Code Playgroud)

被称为吉他手名称是在集合内("杰夫贝克","晕船史蒂夫","史蒂夫豪")?

Jef*_*ica 5

verify(systemUnderTest).addToNotWorthyList(argThat(isOneOf(
    "Jeff Beck", "SeasickSteve", "Steve Howe")));
Run Code Online (Sandbox Code Playgroud)

这使用Hamcrest isOneOf,至少可以使用1.3.如果您已经拥有集合或数组中的项目,请直接跳至isIn.

verify(systemUnderTest).addToNotWorthyList(argThat(isIn(setOfNames)));
Run Code Online (Sandbox Code Playgroud)