springboottest版本号_SpringBoot实战:整合jUnit测试框架

SpringBoot实战:整合jUnit测试框架

一、前言

二、添加依赖

三、简单业务代码

四、创建测试类

五、运行测试类

1.单个方法或类的测试

2.运行整个项目的测试方法

2.1.使用IDEA运行整个项目的测试类

2.2.使用maven命令运行整个项目的测试类

六、注意事项与规范

一、前言

开发项目单元测试必不可少,而jUnit也是java中非常优秀的测试框架,现在简单实战总结一下SpringBoot如何整合jUnit测试框架。

二、添加依赖

在SpringBoot中使用jUnit单元测试前,需要先添加如下maven依赖,其中 test 表示该依赖仅用于测试阶段。

org.springframework.boot

spring-boot-starter-test

test

三、简单业务代码

为了测试需要,我们先创建一个简单的业务代码,方便我们后续测试使用。

服务接口类:

public interface UpmsUserService {

String getName(Long userId);

int count();

}

服务实现类:

@Service("upmsUserService")

public class UpmsUserServiceImpl implements UpmsUserService {

@Override

public String getName(Long userId) {

return "test"

}

@Override

public int count() {

return 1;

}

}

按照以上的逻辑,getName方法返回的结果是“test”,count方法返回的是1,我们现在需要测试一下是否正确。

四、创建测试类

创建一个测试类很简单,测试类只需要在src地下的test中编写,一般来说,test的目录结果应该和main的结果保持一致,这样便于以后做测试管理。

这里我们使用IDEA来快速创建一个单元测试。

打开需要测试的业务类,单击右键选择Go To -> Test,或者使用快捷键Ctrl+Shift+T.

没有创建测试类时,点击Create New Test。如果已经创建,直接点击跳转就可以了。

填写测试类信息,这里简单说明一下

Testing libray: 选择测试依赖包。这里我们选择jUnit的版本。

Class name: 测试类名,测试类类名规则一般为:业务类类名+Test。

Superclass:继承的父类。

Destination package:类的包路径,这个包在test目录下,包路径一般与业务类目录结构相似(接口类无需,因为接口无需测试)

Generate:添加@Before和@After方法。

Member:勾选需要测试的方法。

4.确认后,业务类的测试类就创建好了。需要在类名上添加两行注解。并在需要测试的方法中添加@Test注解。

/**

* SpringJUnit4ClassRunner.class:让 junit 与 spring 环境进行整合

*

* SpringBootTest(classes={App.class}) 的作用

* 1,当前类为 springBoot 的测试类

* 2,加载 SpringBoot 启动类。

*/

@RunWith(SpringJUnit4ClassRunner.class)

@SpringBootTest(classes = {App.class})

public class UpmsUserServiceTest {

//spring注入需要测试的类,无需我们自己创建

@Autowired

public UpmsUserService upmsUserService;

@Test

public String getName() {

String name = upmsUserService.getName(1L);

Assert.assertEquals("abc", name);

}

@Test

public int count() {

int resule = upmsUserService.count();

Assert.assertEquals(1, resule);

}

}

五、运行测试类

1.单个方法或类的测试

单个测试只需光标选中需要运行的方法,单击右键“Run xxxMember()”即可,运行测试类也是类似的方法。

当然,IDEA做的更只能话,在测试类或方法的前面添加了一个运行图标,这个运行起来就更加方便了。

2.运行整个项目的测试方法

如果项目上线了,需要对真个项目运行一下所有的单元测试,那该怎么处理呢。这个提供两种方式。

2.1.使用IDEA运行整个项目的测试类

选择左边整个项目的根目录,单击右键运行“Run All Test”

运行结果如下:

2.2.使用maven命令运行整个项目的测试类

也可以直接使用maven命令来运行整个项目(前提是你已经安装了maven),其实IDEA的本质也是如此,开发cmd窗口,调整到项目根目录下,执行如下指令:

mvn test

1

通过运行后,我们可以看到maven会提供一份测试报告。包含总测试方法数,失败总数,错误总数和跳过总数。

以上两种方法都很实用,IDEA更方便、更快捷,适用于开发阶段,Maven可以在不同平台运行,适用于测试阶段和项目预演阶段。

六、注意事项与规范

SpringBoot中整合jUnit还是非常容易的,这里简单说一下测试时遇到的一些问题。

测试类和测试方法的访问权限必须是public。不然运行时会报错。

测试类类名命名规范:测试类类名=被测试类类名+“Test”

测试方法名命名规范:测试方法名=被测试方法名 或 测试方法名=被测试方法名+ “Test”

测试方法中不建议用人肉测试方法,即打印日志的方式来人眼观察是否结果正确,正确方式应该使用Assert等测试类专用方法。

测试案例不是一成不变的,会随着项目的进行不断更新。

好了,以上是个人的一些小小的经验总结,如果你觉的对你有帮助的话,可以关注我查看更多SpringBoot相关文章!

————————————————

版权声明:本文为CSDN博主「jie_ming514」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值