Javax.Persistence.Tuple,如何模拟数据
我有一个返回List的存储库方法,它在后台使用CriteriaQueryTupleTransformer.TupleImpl。 在测试中,我想模拟Repository,并在Repository.method上返回预定义的模拟数据 大概是这样的:Javax.Persistence.Tuple,如何模拟数据,java,spring,hibernate,spring-data-jpa,mockito,Java,Spring,Hibernate,Spring Data Jpa,Mockito,我有一个返回List的存储库方法,它在后台使用CriteriaQueryTupleTransformer.TupleImpl。 在测试中,我想模拟Repository,并在Repository.method上返回预定义的模拟数据 大概是这样的: MyRepository myRepository = mock(MyRepository.class); List<Tuple> = new ArrayList<>(); Tuple tuple = TupleImpl.Buil
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
MyRepository-MyRepository=mock(MyRepository.class);
列表=新的ArrayList();
Tuple Tuple=TupleImpl.Builder()//TupleImpl是私有类,没有工厂或生成器
//.addMockedData()
//.addMockedData()
.build();
tuples.add(tuple);
//添加更多模拟数据
when(myRepository.findByIds(any())。然后返回(元组);
//断言业务逻辑
//当repo返回一个特定的元组结构时,按预期运行
我这里的主要问题是,我需要实例化CriteriaQueryTupleTransformer.TupleImpl,这是任何私有类,我找不到任何构建器或工厂方法来轻松创建。那么为什么不模拟元组接口呢?这是我最后做的,我不知道为什么我一开始没有想到。谢谢你的帮助!