,,Java单元测试Mockito的使用详解

,,Java单元测试Mockito的使用详解

莫奇托是一个强大的模拟的工具,本文将重点讲述莫奇托的基本使用及注意事项,以及控制器测试用例,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧

莫奇托简介

调用模拟的对象的方法时,不会执行真实的方法,而是返回类型的默认值,如目标返回null,int返回0等,否则通过指定什么时候(方法).然后返回(值)来指定方法的返回值。同时模拟的对象可以进行跟踪,使用核实方法看是否已经被调用过。而间谍对象,默认会执行真实方法,返回值可以通过当.然后返回进行覆盖。可见模拟的只要避开了执行一些方法,直接返回指定的值,方便做其他测试。

Service测试用例

需要的依赖

属国

groupIdjunit/groupId

artifactIdjunit/artifactId

版本4.12/版本

范围测试/范围

/依赖关系

属国

groupIdorg.mockito/groupId

artifactIdmockito-core/artifactId

版本2 .23 .4/版本

范围测试/范围

/依赖关系

属国

groupIdorg.springframework.boot/groupId

artifact id spring-boot-test/artifact id

version2.1.13.RELEASE/version

/依赖关系

代码示例

@ run with(mockitojunitrunner。类)

@SpringBootTest()

公共类学生服务测试{

@InjectMocks

StudentService StudentService=new StudentService impl();

@Mock

学生道

@以前

之前的公共空的

Mockito.doReturn(新学生张三', 18)).当(学生道).读(嘲讽伊藤。any string());

}

@测试

public void testRead(){

StudentDO read=studentservice。读(" ");

断言。断言not null(读取);

}

}

Controller测试用例

需要的依赖

属国

groupIdorg.springframework/groupId

artifactId弹簧-测试/artifactId

version5.1.14.RELEASE/version

/依赖关系

属国

groupIdcom.jayway.jsonpath/groupId

artifactIdjson-path/artifactId

版本2 .4 .0/版本

/依赖关系

代码示例

@ run with(mockitojunitrunner。类)

@SpringBootTest()

公共类学生控制器测试{

@资源

MockMvc

@InjectMocks

学生控制器;

@Mock

学生服务;

@以前

之前的公共空的

模拟MVC=mockmvcbuilders。独立设置(学生控制器).build();

Mockito.doReturn(新学生张三', 18)).什么时候(学生服务)。读(嘲讽伊藤。any string());

}

@测试

公共void testRead()引发异常{

模拟http servlet request builder request=mockmvcrequestbuilders。get('/student/read/1 ');

mockMvc.perform(请求)。andDo(print())。和预期(状态()。isOk())。andExpect(jsonPath(' .姓名)。值('张三'));

}

}

到此这篇关于单元测试-莫奇托的使用的文章就介绍到这了,更多相关单元测试莫奇托使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: