Hamcrest匹配器,用于无投射的集合参数



我有一个类型:

class SomeType {}

我有一种方法可以嘲笑MockitoHamcrest

class SomeService {
    public List<SomeType> doSomething(List<SomeType> producer) {
        ...
    }
}

如果传递了java.util.List并且该列表至少包含一个指定的元素,我需要模拟 doSomething() 方法。现在我使用强制转换来编译:

when(someService.doSomething(
    ((List<SomeType>) MockitoHamcrest.<List<SomeType>>argThat(CoreMatchers.hasItem(mySomeType))))
.thenReturn(emptyList());

但我想让它在没有石膏的情况下安全打字。有没有办法进行这样的检查?

抱歉,即使您将生产方法参数更改为 Iterable<SomeType>,也无法避免此转换,因为人们可能会认为这可能会有所帮助,因为argThat返回<Iterable<? super Object>>

相关内容

  • 没有找到相关文章

最新更新