怎么利用5与Springboot对应用进行测试

  介绍

怎么利用5与Springboot对应用进行测试?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

春季启动可以和大部分流行的测试框架协同工作:通过春天JUnit创建单元测试;生成测试数据初始化数据库用于测试;弹簧引导可以跟BDD(行为主要驱动开发)工具,黄瓜和斯波克协同工作,对应用程序进行测试。

在网络应用程序中,我们主要是对服务层做单元测试,以前单元测试都是使用junit4,对控制器层做集成测试或者接口测试,对控制器层的测试一般有两种方法:(1)发送http请求;(2)模拟http请求对象。

第一种方法需要配置回归环境,通过修改代码统计的策略来计算覆盖率;第二种方法是比较正规的思路。

引入相关jar

& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-web   ,,,& lt;/dependency>      ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-test   ,,,,,& lt; scope> test   ,,,& lt;/dependency>

项目使用的是springboot2.4.0。

spring-boot-starter-test中包含junit5和5相关jar。无需额外引入。

如果想使用junit4,可以将springboot版本降低,junit4与junit5在一些注解和方法上有区别,比如注解的引入目录不同,一些方法进行了优化,有兴趣可以查阅相关资料,这里就不再赘述。

下面代码是junit5使用样式。

项目目录结构如下

怎么利用5与springboot对应用进行测试

控制器类

@RestController   @RequestMapping (“/api/v1")   public  class  UserController  {      @ autowired才能   UserService 才能;userService;      @GetMapping才能(“用户/{userId}“)   public 才能;User 说(@PathVariable (“userId"), Long  id), {   ,,,return  userService.getUser (id);   ,,}      @PostMapping才能(“用户/edit")   public 才能;User 编辑(@RequestBody  User 用户),{   ,,,return  userService.edit(用户);   ,,}   }

服务实现类

@ Service   public  class  UserServiceImpl  implements  UserService  {      @ autowired才能   UserDao 才能;userDao;      @Override才能   public 才能;User  getUser (Long  id), {   ,,,return  userDao.getUser (id);   ,,}      @Override才能   public 才能;User 编辑(User 用户),{   ,,,return  userDao.edit(用户);   ,,}   }

刀接口

public  interface  UserDao  {   User 才能getUser (Long  id);   User 才能编辑(User 用户);   }

用户类

public  class  User  {   private 才能Long  id;   private 才能;String 名称;,,private  String  desc;   ,,get()……,,设置()……,,toString ()……   null   null   null   null

怎么利用5与Springboot对应用进行测试