我有一个返回List的存储库方法,该方法在后台使用CriteriaQueryTupleTransformer.TupleImpl。 在测试中,我想模拟存储库,并在Repository.method上返回预定义的模拟数据。
类似这样的东西:
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方法。