Java:使用junit进行代码测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:使用junit进行代码测试相关的知识,希望对你有一定的参考价值。

我写了一个时间工具类 DateTimeUtil, 里边有一个格式化为字符串的方法

现在我写了一个main函数来测试这个方法

package com.example;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTimeUtil 
    /**
     * 时间对象格式化为字符串
     *
     * @param date
     * @return
     */
    public static String toDateString(Date date) 
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        return formatter.format(date);
    

    public static void main(String[] args) 
        Date now = new Date();
        String nowString = DateTimeUtil.toDateString(now);
        System.out.println(nowString);
        // 2023-02-16
    


如果,我在这个工具类中多增加几个方法,那么main方法的代码就需要来回改动

这时候可以借助IDE和测试类来实现多个方法的测试

使用junit

文档

依赖

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

maven 项目结构

$ tree
.
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── DateTimeUtil.java
    │   └── resources
    └── test
        ├── java
        │   └── com
        │       └── example
        │           └── DateTimeUtilTest.java
        └── resources

DateTimeUtil.java

package com.example;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTimeUtil 
    /**
     * 时间对象格式化为字符串
     *
     * @param date
     * @return
     */
    public static String toDateString(Date date) 
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        return formatter.format(date);
    


DateTimeUtilTest.java

package com.example;

import org.junit.Test;

import java.util.Date;

public class DateTimeUtilTest 
    @Test
    public void toDateString() 
        Date now = new Date();
        String nowString = DateTimeUtil.toDateString(now);
        System.out.println(nowString);
        // 2023-02-16
    


注意:测试类的命名规则:xxxTest.java

这样依赖,代码看起来就干净整洁了

使用命令行运行测试

$ mvn test
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.DateTimeUtilTest
2023-02-16
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

以上是关于Java:使用junit进行代码测试的主要内容,如果未能解决你的问题,请参考以下文章

Java的JUnit 测试包进行单元测试

java中框架Junit应该怎么使用?

Java高级技术 单元测试(JUnit4)

JUnit代码测试是啥?怎么写代码?

JUnit代码测试是啥?怎么写代码?

Java之Junit和反射