博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Maven项目中使用JUnit进行单元测试
阅读量:7081 次
发布时间:2019-06-28

本文共 3822 字,大约阅读时间需要 12 分钟。

布置JUnit环境

对于需要使用JUnit进行单元测试的maven项目,添加对JUnit相关jar包的依赖,打开这个project的pom.xml文件,引入以下dependency

junit
junit
4.9
test

具体要引用哪个版本的JUnit,在version节点配置,scope节点配置一般情况是test,二般情况下也配置的是test,我们引用JUnit只是为了在测试阶段去使用,软件的运行其实是不需要依赖JUnit的,软件的打包部署发布,也不需要将JUnit相关的库带上。

maven-surefire-plugin

在surefire的眼中,它看到的JUnit只有三个版本,分别是

  • JUnit 3.8.x

  • JUnit 4.x (surefire提供串行执行的provider)

  • JUnit 4.7 (surefire提供支持并行执行的provider)

surefire使用哪种provider,要看项目中依赖的JUnit的项目,以及pom.xml中对surefire插件的配置,比如说是否配置了并行执行(parellel),选择的策略有以下伪代码演示:

if the JUnit version in the project >= 4.7 and the parallel attribute has ANY value    use junit47 providerif JUnit >= 4.0 is present    use junit4 providerelse    use junit3.8.1

一般为了避免不必要的奇奇怪怪的麻烦,都直接指定surefire的provider,前提是要提前知道使用的JUnit版本

org.apache.maven.plugins
maven-surefire-plugin
2.19.1
org.apache.maven.surefire
surefire-junit47
2.19.1

进行测试

首先编写一个待测试的类

package io.beansoft.junit.practice;/** * * * @author beanlam * @date 2016年12月8日 下午4:19:19 * @version 1.0 * */public class Calculator {    public int evaluate(String expression) {        int sum = 0;        for (String summand : expression.split("\\+"))            sum += Integer.valueOf(summand);        return sum;    }}

然后在src/test/java下编写测试类

package io.beansoft.junit.practice;import org.junit.Assert;import org.junit.Test;/** * * * @author beanlam * @date 2016年12月9日 下午12:02:11 * @version 1.0 * */public class CalculatorTest {        @Test    public void evaluatesExpression() {        Calculator calculator = new Calculator();        int sum = calculator.evaluate("1+2+3");        Assert.assertEquals(6, sum);    }}

邮件点击项目,选择run as,选择maven test,运行结果如下所示

[INFO] Scanning for projects...[INFO]                                                                         [INFO] ------------------------------------------------------------------------[INFO] Building junit-practice 0.0.1-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ junit-practice ---[INFO] Using 'UTF-8' encoding to copy filtered resources.[INFO] skip non existing resourceDirectory E:\eclipse-neon\workspace\junit-practice\src\main\resources[INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ junit-practice ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ junit-practice ---[INFO] Using 'UTF-8' encoding to copy filtered resources.[INFO] skip non existing resourceDirectory E:\eclipse-neon\workspace\junit-practice\src\test\resources[INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ junit-practice ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ junit-practice ---------------------------------------------------------- T E S T S-------------------------------------------------------Running io.beansoft.junit.practice.CalculatorTestTests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in io.beansoft.junit.practice.CalculatorTestResults :Tests run: 1, Failures: 0, Errors: 0, Skipped: 0[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 2.066 s[INFO] Finished at: 2016-12-09T12:08:06+08:00[INFO] Final Memory: 10M/219M[INFO] ------------------------------------------------------------------------

可以看到测试案例通过

转载地址:http://vjmml.baihongyu.com/

你可能感兴趣的文章
LeetCode-112. Path Sum
查看>>
hdu Big Number
查看>>
自定义App首次启动引导页
查看>>
9.Maven之(九)依赖关系
查看>>
77.深入理解nodejs中Express的中间件
查看>>
Oracle递归查询
查看>>
Web前端开发十日谈
查看>>
如何在cell内部操作控制器的一些行为
查看>>
第二个spring,第一天
查看>>
UVa 10795
查看>>
String和StringBuffer区别
查看>>
编程需要知道多少数学知识?
查看>>
虚拟空间,malloc
查看>>
PLL详解
查看>>
OSG闪存
查看>>
vim使用命令
查看>>
pymysql操作数据库
查看>>
php include_path设置
查看>>
js常用函数
查看>>
jQuery 复制节点的元素实现添加到购物车功能
查看>>