单元测试介绍(Springboot实战)

如题所述

第1个回答  2022-08-19

单元测试是对一个模块、一个函数、或者一个类来进行正确性检验的测试工作。

比如对方法testOne(double a),我们可以编写一下几个测试用例:

输入正数,比如1、1.2、0.99,期待返回值和输入相同;

输入负数,比如-1、-1.2、-0.99,期待返回值与输入相反;

输入0,期待返回0;

输入非数值类型,比如“”、[]、{},期待抛出Error。

把上面的测试用例放到一个测试模块里,就是一个完整的单元测试。

新建一个测试类,可以通过编程工具的插件自动生成测试类(比如:IDEA的Junit Generator),也可以自己手动建立。

在测试类中引入所需要的类和包,测试可以使用junit jar包辅助也可以不用,直接main方法运行要测试的代码、业务。

通过一些可以做日志的jar包(比如log4j),在各个测试的数据前后将其输出出来,方便观察测试过程中代码的运行情况,也可以System.out.println(),自行设置便于观察的输出格式。

引入依赖

单元测试依赖 展开源码

引入spring -boot-starter-test后,有如下几个库:

-Junit —— The de-facto standard for unit testing Java applications

-Spring Test & Spring Boot Test —— Utilities and integration test support for Spring Boot applications

-AssertJ —— A fluent assertion libraray

-Hamcrest —— A library of matcher objects(also known as constraints or predicates)

-Mockito —— A Java mocking framework

-JSONNassert —— An assertion library for JSON

-JsonPath —— XPath for Json

在src/main下建立UserService类,对其进行单元测试,生成的单元测试类在src/test下,

直接在测试类上面加上如下两个注解

@RunWith(SpringRunner.class)

@SpringBootTest

就可以取到spring中的容器的实例,如果配置了@Autowired那么久自动将对象注入







折叠源码





折叠源码



折叠源码



相似回答