如何在一个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 {
    @Test
    public void junitDemoTest(){
        String s = "junitDemoTest";
        demo d = new demo();
        s = d.junitDemo(s);
        System.out.println(s);
    }
}

然后就可以通过maven进行单元测试了

  1. 清空之前生成的target: mvn clean
  2. 打包: mvn package
  3. 测试某个类: mvn -Dtest=测试类名 test 会测试该类下所有的方法
    • 例: mvn -Dtest=demoTest test
  4. 测试某个类的某个方法: 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

更多推荐