亲宝软件园·资讯

展开

Java使用junit框架进行代码测试过程详解

彭世瑜 人气:0

我写了一个时间工具类 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);
    }
}

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

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

使用junit

文档

https://junit.org/junit4/

https://github.com/junit-team/junit4

依赖

<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);
    }
}

注意:测试类的命名规则: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

加载全部内容

相关教程
猜你喜欢
用户评论