maven 命令行执行 junit 单元测试

apache-maven-3.9.7

 

JUnit 4 或 JUnit 5

 

进入到项目的根目录:

  如 cd D:\IntelliJ-IdeaProjects\maven-demo

 

 执行指定的测试用例(单个)的命令:

  mvn test -Dtest=包名.测试用例名

  或

  mvn test -Dtest="包名.测试用例名"

  或

  mvn test "-Dtest=包名.测试用例名"

 

 

 

  如

  mvn test -Dtest=com.joyupx.model.excel.ExcelTest

  或先清理再执行单元测试用例:

  mvn clean test -Dtest=com.joyupx.model.excel.ExcelTest 

 

在 PowerShell 中的执行命令为:

  mvn test -Dtest=测试用例名

  或

  mvn test -Dtest='包名.测试用例名'

  或

  mvn test -Dtest="包名.测试用例名"

  或 

  mvn test '-Dtest=包名.测试用例名'

  或

  mvn test "-Dtest=包名.测试用例名"

 

 

  即不含包名,如果带着包名且没有英文状态下的单引号或双引号则抛出如下错误:

  [ERROR] Unknown lifecycle phase ".com.joyupx.model.excel.ExcelDoTest ". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1]

 

  原因是在 PowerShell 中点(.)是特殊字符,需要通过引号将其转义为原生含义。

 

  正确的命令为:

   mvn test -Dtest=ExcelTest 

  或(先清理再执行测试用例)

  mvn clean test -Dtest=ExcelTest  

  或

  mvn clean test -Dtest='com.joyupx.model.excel.ExcelTest '

  或

  mvn clean test -Dtest="com.joyupx.model.excel.ExcelTest "

 

一次性执行指定包下的全部测试用例文件的命令:

  mvn clean test -Dtest="包名.*Test"

  如:

  mvn clean test -Dtest="com.joyupx.model.excel..*Test"

 

 

  推荐使用英文状态的下的双引号将参数值括起来,这样即可以在 CMD 中运行,也可以在 PowerShell 中执行,需要注意是 CMD 不支持英文状态下的单引号。

 

 

 

 

posted @ 2024-08-20 10:45  hapday  阅读(121)  评论(0编辑  收藏  举报