如何在一个maven项目中使用maven命令进行junit单元测试?
首先确定一个maven项目的结构:
- 包含源代码目录src/main/java.
- 配置目录src/main/resources.
- 测试代码目录src/test.
目录结构可视化如下:
src/- main/- java/com/example/samplejunit- demo.java- resources/com/example/- test/java/com/example/samplejunit-demoTest.java
假定demo.java内容如下所示
package com.sample.junit;
public class demo {public String junitDemo(String x){return "junitDemo";}
}
我们要测试这个demo类, 可以在demoTest.java中写以下代码
package com.sample.junit;
import org.junit.Test;
public class demoTest {@Testpublic void junitDemoTest(){String s = "junitDemoTest";demo d = new demo();s = d.junitDemo(s);System.out.println(s);}
}
然后就可以通过maven进行单元测试了
- 清空之前生成的target:
mvn clean
- 打包:
mvn package
- 测试某个类:
mvn -Dtest=测试类名 test
会测试该类下所有的方法- 例:
mvn -Dtest=demoTest test
- 例:
- 测试某个类的某个方法:
mvn -Dtest=测试类名#测试方法名 test
会测试类名中的对应方法- 例:
mvn -Dtest=demoTest#junitDemoTest test
按照测试样例,会输出在控制台junitDemo
字符串
- 例:
补充说明:
执行mvn package命令后, maven框架会自动将resources目录下的文件和java目录下的文件进行合并, 统一保存到target目录下的classes文件中.
参考资料:
maven文档:
https://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html