我正在使用 mockito 编写一些测试,并且我正在使用以下代码:
ArgumentCaptor<LinkedList> captor = ArgumentCaptor.forClass(LinkedList.class);
除了“captor”是原始类型的警告之外,这编译和运行都很好,我应该用类似的东西替换它:
ArgumentCaptor<LinkedList<String>> captor = ArgumentCaptor.forClass(LinkedList<String>.class);
问题是 LinkedList
假设抑制警告是不优雅的,有没有优雅的解决方案?如果不是,为什么编译会警告我一些我无法真正解决的问题?
最佳答案
有一个@Captor
Mockito 中的注释旨在让您避免这样的警告。
使用它,您无需手动新建
您的ArgumentCaptor
。您可以只用注释声明它,然后调用 MockitoAnnotations.initMocks(this);
“自动”创建你的俘虏。
而不是这个:
ArgumentCaptor<LinkedList> captor = ArgumentCaptor.forClass(LinkedList.class);
这样做:
@Captor
ArgumentCaptor<LinkedList<String>> captor;
@Before
public void init() {
// initialize fields annotated with Mockito annotations
MockitoAnnotations.initMocks(this);
}
关于java - 为什么 java 编译器对类文字给出 "rawtypes"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27586880/