我有一个返回List的repository方法,它在后台使用了CriteriaQueryTupleTransformer.TupleImpl.在测试中,我想模拟Repository,而Repository.方法返回预定义的模拟数据。
就像这样:
MyRepository myRepository = mock(MyRepository.class);
List<Tuple> = new ArrayList<>();
Tuple tuple = TupleImpl.Builder() //TupleImpl is private class and has no Factory or Builders
//.addMockedData()
//.addMockedData()
.build();
tuples.add(tuple);
//add more mocked data
when(myRepository.findByIds(any())).thenReturn(tuples);
//Assert business logic that everything
//went as expected when a specific Tuple structure was returned by repo
字符串
这里我的主要问题是,我需要示例化CriteriaQueryTupleTransformer.TupleImpl,它是任何私有类,我找不到任何Builders或Factory方法来方便创建。
1条答案
按热度按时间h6my8fg21#
我做了你在评论中说的。在这里搜索,让人们看到解决方案的样子。使用Mockito。
字符串