Spring Boot单元测试入门实战之关于JUnit

2152 篇文章 119 订阅
1312 篇文章 21 订阅

在这里插入图片描述
在我们开发Web应用时,经常会直接去观察结果进行测试。虽然也是一种方式,但是并不严谨。

作为开发者编写测试代码来测试自己所写的业务逻辑,以提高代码的质量、降低错误方法的概率以及进行性能测试等。而开发者写得最多就是单元测试。

引入spring-boot-starter-testSpringBoot的测试依赖。该依赖会引入JUnit的测试包,也是我们用的做多的单元测试包。

而Spring Boot在此基础上做了很多增强,支持很多方面的测试,例如JPA、MongoDB、Spring MVC(REST)和Redis等。

接下来主要是测试业务逻辑层的代码,REST和Mock测试。

JUnit介绍

在这里插入图片描述

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。

JUnit有它自己的JUnit扩展生态圈,多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

这里使用的是JUnit4.x版本,JUnit中有两个重要的类Assume+Assert,以及重要的注解:BeforeClass、AfterClass、After、Before、Test和Ignore。

BeforeClass和AfterClass在每个类的开始和结束的时候运行,需要static修饰方法。而Before和After则是在每个测试方法的开始和结束的时候运行。

代码片段:TestDeployApplication.class是自己编写的Spring Boot启动类。

@RunWith(SpringRunner.class)@SpringBootTest(classes = {TestDeployApplication.class})public class UnitTest1 {
    @BeforeClass    public static void beforeClass() {        System.out.println("=================BeforeClass================");    }
    @AfterClass    public static void afterClass() {        System.out.println("=================AfterClass================");    }
    @Before    public void beforeTest() {        System.out.println("before test");    }
    @After    public void afterTest() {        System.out.println("after test");    }
    @Test    public void test1() {        System.out.println("test1");    }
    @Test    public void test2() {        System.out.println("test2");    }}

JUnit的Assert类

Assert类中常用的方法:

  • assertEquals(“提示信息”,A,B):当判断A是否等于B,不等于就抛出错误。比较对象是调用的是equals()方法

  • assertSame(“提示信息”,A,B):判断对象是否相同

  • assertTrue(“提示信息”,A):判断条件A是否为真

  • assertFalse(“提示信息”,A):判断条件是否为假

  • assertNotNull(“提示信息”,A):判断对象是否不为空

  • assertNull(“提示信息”,A):判断对象是否不为空

  • assertArrayEqual(“提示信息”,A,B):判断数组A和数组B是否相等

JUnit的Suite

JUnit的Suite设计就是一次性运行一个或多个测试用例,Suite可以看作是一个容器,用来把测试类归类在一起,并把他们作为一个集合来运行,运行器启动Suite。

@RunWith(Suite.class)@SuiteClasses({UnitTest1.class,UnitTest2.class})public class MainTest{    }

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。今天就到这里,学废了,记得在评论区留言:打卡。

好文推荐

2021软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!

什么样的人适合从事软件测试工作?

软件测试和软件开发哪个发展更好

那个准点下班的人,比我先升职了…

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值