【发布时间】:2019-03-03 12:27:03
【问题描述】:
我使用 maven-archetype-plugin 原型生成了一个 maven 插件项目。
我已将生成的集成测试 src/it/simple-it/verify.groovy 更改为失败:
assert false
然后我调用了:
$ mvn clean install invoker:integration-test invoker:verify
我的assert false 测试通过了:
[INFO] Installing /home/peter/ownCloud/Personal/eclipse-workspace/my-plugin/target/my-plugin-1.0-SNAPSHOT.jar to /home/peter/.m2/repository/org/example/my-plugin/1.0-SNAPSHOT/my-plugin-1.0-SNAPSHOT.jar
[INFO] Installing /home/peter/ownCloud/Personal/eclipse-workspace/my-plugin/pom.xml to /home/peter/.m2/repository/org/example/my-plugin/1.0-SNAPSHOT/my-plugin-1.0-SNAPSHOT.pom
[INFO]
[INFO] --- maven-invoker-plugin:3.1.0:integration-test (default-cli) @ my-plugin ---
[INFO] Building: simple-it/pom.xml
[INFO] simple-it/pom.xml ................................ SUCCESS (13.4 s)
[INFO]
[INFO] --- maven-invoker-plugin:3.1.0:verify (default-cli) @ my-plugin ---
[INFO] -------------------------------------------------
[INFO] Build Summary:
[INFO] Passed: 1, Failed: 0, Errors: 0, Skipped: 0
[INFO] -------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 34.975 s
[INFO] Finished at: 2019-03-03T08:23:34-04:00
[INFO] Final Memory: 38M/441M
[INFO] ------------------------------------------------------------------------
显然,实际上并未调用该测试。我错过了什么?
为了演示这个问题,我创建了一个简单的 shell 脚本:
#!/bin/bash
rm -rf my-plugin
mvn archetype:generate -DgroupId=org.example -DartifactId=my-plugin -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.4 -DinteractiveMode=false
cd my-plugin
echo assert false > src/it/simple-it/verify.groovy
mvn clean install invoker:integration-test invoker:verify
我相信这个脚本应该在最后一行失败,当调用者:验证目标达到时,maven 执行verify.groovy,它实际上是一个assert false。
【问题讨论】:
-
你好,你的测试类是放在src/test/java吗?这可能是未执行测试的原因。
-
最好是在某个地方展示你的整个项目......
-
@khmarbaise 我没有将整个代码库附加到这个问题,而是添加了一个 shell 脚本,它将生成足够的代码库来演示问题。
标签: maven integration-testing maven-plugin