java - 如何使用 mockito 捕获特定类型的列表

标签 java unit-testing junit mockito

有没有办法使用 mockitos ArgumentCaptore 捕获特定类型的列表。这不起作用:

ArgumentCaptor<ArrayList<SomeType>> argument = ArgumentCaptor.forClass(ArrayList.class);

最佳答案

使用 @Captor annotation 可以避免嵌套泛型问题:

public class Test{

    @Mock
    private Service service;

    @Captor
    private ArgumentCaptor<ArrayList<SomeType>> captor;

    @Before
    public void init(){
        MockitoAnnotations.initMocks(this);
    }

    @Test 
    public void shouldDoStuffWithListValues() {
        //...
        verify(service).doStuff(captor.capture()));
    }
}

关于java - 如何使用 mockito 捕获特定类型的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5606541/

相关文章:

java - 试图回答数学难题,但我的程序不会退出此循环

android - 即使未调用该方法,Mockito never() 也会被调用吗?

java - Mockito 和 JUnit : Which is the best to use Runner or TestRule?

java - 是否可以通过使用 JUnit 来预期一个原因?

java - 在 JMock 中访问包私有(private)类时出现 IllegalAccessError

java - Java 中的三角分布

java - 自定义 Facebook 分享按钮,Android 应用程序

java - 在Java中解析长数字

unit-testing - 读取配置文件的单元测试函数

wcf - 如何使用 Moq 模拟 WCF 客户端?