相关疑难解决方法(0)

Java枚举在mockito的thenReturn中的列表

有没有办法在mockito的thenReturn函数中枚举列表中的项目,所以我返回列表中的每个项目.到目前为止我已经这样做了:

List<Foo> returns = new ArrayList<Foo>();
//populate returns list

Mockito.when( /* some function is called */ ).thenReturn(returns.get(0), returns.get(1), returns.get(2), returns.get(3));
Run Code Online (Sandbox Code Playgroud)

这完全符合我的要求.每个函数被调用时,它会从列表,如返回一个不同的对象get(1),get(2)等等.

但是我希望简化这个并使其对任何大小的列表更具动态性,以防我有一个大小为100的列表.我尝试过这样的事情:

Mockito.when( /* some function is called */ ).thenReturn(
    for(Foo foo : returns) {
        return foo;
    }
);
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

Mockito.when(service.findFinancialInstrumentById(eq(1L))).thenReturn(
    for (int i=0; i<returns.size(); i++) {
        returns.get(i);
    }
);
Run Code Online (Sandbox Code Playgroud)

但是,这并不工作....我怎么这么枚举内的这个名单thenReturn....我遇到其他的方法来喜欢then或者answer,但我不知道哪一个最适合在这种情况下.

java junit enumeration list mockito

9
推荐指数
2
解决办法
8011
查看次数

标签 统计

enumeration ×1

java ×1

junit ×1

list ×1

mockito ×1