欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础之JUnit单元测试

程序员文章站 2024-03-15 19:08:18
...

该文首发于我的个人博客ReadLamp

前言

单元测试是什么?

Junit是一个Java编程语言的单元测试框架。

JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。

JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点,测试一点,编码一点……”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。

有什么用?

它提供注释来识别测试方法,提供断言来测试预期结果,提供测试运行来运行测试。

可以在一个测试类里面测试多个方法,而无需像使用main方法那执行测试一次就要修改一次。

JUnit的使用

使用单元测试主要分为以下5个步骤:

  1. 新建测试类

建议新建一个test包来管理单元测试类。

建议新建的类名为待测试的类名后面加上Test。

例如,待测试的类名叫做Calculator。那么这个新建的类名就叫做CalculatorTest。

  1. 定义测试方法

在这个新建的类里面定义测试方法,建议该方法名为待测试的方法名前面加上test。

例如,带测试的方法名为add。那么这个方法名则为testAdd。

其次,建议返回值为空值,参数列表为空参。

  1. 给方法加上注释@Test

  2. 导入依赖环境

直接在方法左侧出现的小灯泡给出的方法中导入。

导入失败时的解决方法

  1. 使用Alt + Enter键自动导入
  2. File->Project Structure
    Java基础之JUnit单元测试
    在弹出的文件浏览窗口,选择"IDEA的安装目录\lib导入以下包:
    • junit-4.11.jar
    • hamcrest-core-1.3.jar
  1. 点击方法的左侧出现的绿色三角

补充

  1. 使用断言来测试预期的结果

使用方法为在待测试方法里合理的位置(如最后一行)加上Assert.assertEquals(期望的结果,运算的结果);

  1. 可以使用@Before与@After注解来在测试类中申请、释放必要资源:
  • @Before修饰的方法会在测试方法之前被自动执行
  • @After修饰的方法会在测试方法执行之后自动被执行
//示意代码
public class CalculatorTest {
    @Test
    public void testSub() {
        Calculator c = new Calculator();
        int result = c.sub(1, 2);
        Assert.assertEquals(-1,result);
    }
}

小结

五个步骤:新建测试包下测试类,测试类里写测试方法(按需要加断言),测试方法头加@Test注释,点击小三角测试。

后记

本文主要是零散的知识点笔记,仅用以了解大概内容,更多知识点请自行搜索了解。

参考资料:

  • W3Cschool:https://www.w3cschool.cn/junit/