Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javax.Persistence.Tuple,如何模拟数据_Java_Spring_Hibernate_Spring Data Jpa_Mockito - Fatal编程技术网

Javax.Persistence.Tuple,如何模拟数据

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

我有一个返回List的存储库方法,它在后台使用CriteriaQueryTupleTransformer.TupleImpl。 在测试中,我想模拟Repository,并在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
MyRepository-MyRepository=mock(MyRepository.class);
列表=新的ArrayList();
Tuple Tuple=TupleImpl.Builder()//TupleImpl是私有类,没有工厂或生成器
//.addMockedData()
//.addMockedData()
.build();
tuples.add(tuple);
//添加更多模拟数据
when(myRepository.findByIds(any())。然后返回(元组);
//断言业务逻辑
//当repo返回一个特定的元组结构时,按预期运行

我这里的主要问题是,我需要实例化CriteriaQueryTupleTransformer.TupleImpl,这是任何私有类,我找不到任何构建器或工厂方法来轻松创建。

那么为什么不模拟元组接口呢?这是我最后做的,我不知道为什么我一开始没有想到。谢谢你的帮助!