Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Java 单元测试调用返回实体页面的方法的方法_Java_Unit Testing_Mockito - Fatal编程技术网

Java 单元测试调用返回实体页面的方法的方法

Java 单元测试调用返回实体页面的方法的方法,java,unit-testing,mockito,Java,Unit Testing,Mockito,我想测试以下方法,当我知道对findallbymerchandi()方法的底层调用返回固定数量的结果(具有固定数量实体的页面)时 公共列表受益人响应获取Merchant的受益人(长商品、整型页面、整型页面大小、, 字符串排序方向,字符串排序字段){ //默认情况下,我们将设置为“在描述排序时添加” Sort Sort=Sort.by(Sort.Direction.DESC,“addedOn”); if(sortField!=null&&sortDirection!=null){ sort=sor

我想测试以下方法,当我知道对findallbymerchandi()方法的底层调用返回固定数量的结果(具有固定数量实体的页面)时

公共列表受益人响应获取Merchant的受益人(长商品、整型页面、整型页面大小、,
字符串排序方向,字符串排序字段){
//默认情况下,我们将设置为“在描述排序时添加”
Sort Sort=Sort.by(Sort.Direction.DESC,“addedOn”);
if(sortField!=null&&sortDirection!=null){
sort=sort.by(sort.Direction.fromString(sortDirection),sortField);
}
Pageable pageRequest=pageRequest.of(第1页,页面大小,排序);
第PAGEOFFENCIENTS页=受益人保存。findallbymerchanti(merchantId,第pageRequest页);
List benResonseDtoList=new ArrayList();
对于(受益人ben:PageOfBeneficients.getContent()){
添加(this.get受益人响应(ben));
}
ListBenginiarResponsedTo formattedListBen=新的ListBenginiarResponsedTo(PageOfBeneficients.getTotalPages(),PageOfBeneficients.getTotalElements(),PageOfBeneficients.getNumber(),benResonseDtoList);
返回格式化的ListBen;
}
如何模拟findallbymerchandi()调用的响应,以在页面中返回固定数量的结果

单元测试初学者。

@Mock 公共页FindAllByMerchandi(merchantId,pageRequest)引发IOException{ //创建所需类的对象并返回。 返回obj; }


您可以尝试上述方法。

您可以将
mockito
junit
一起使用。Mockito是我们将用于模拟对象和存根方法的框架。Junit用于运行测试

public class Test {

   @Mock
   private BeneficiaryRepository beneficiaryRepository;

   @Test
    public void testGetBeneficiariesOfMerchant()  {
//your code ...
        Page<Beneficiary> pages = // your initialization  
when(beneficiaryRepository.findAllByMerchantId(any(),any())).thenReturn(pages);
//your code ...
    }

}
公共类测试{
@嘲弄
私人受益人储蓄受益人储蓄;
@试验
公共无效测试获取Merchant的受益人(){
//你的代码。。。
Page pages=//您的初始化
当(受益人repository.findallbymerchanti(any(),any())。然后返回(第页);
//你的代码。。。
}
}
有关更多信息,请查看下面的链接:

向我们展示您迄今为止所做的尝试以及面临的问题。@如果基础方法返回某些固定格式/dto,我会在thenReturn()中对其进行硬编码。然而,对于Page,我不知道如何硬编码它。我知道PageOfBeneficients.getContent()是受益人实体的列表,但如何创建受益人页面?
public class Test {

   @Mock
   private BeneficiaryRepository beneficiaryRepository;

   @Test
    public void testGetBeneficiariesOfMerchant()  {
//your code ...
        Page<Beneficiary> pages = // your initialization  
when(beneficiaryRepository.findAllByMerchantId(any(),any())).thenReturn(pages);
//your code ...
    }

}