【问题标题】:maven 3 webapp - No tests to run?maven 3 webapp - 没有要运行的测试?
【发布时间】:2011-04-16 03:33:54
【问题描述】:

我用 maven 3 创建了一个webapp

 mvn archetype:generate -DgroupId=com.my.app -DartifactId=myweb-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

我没有得到src/test/java 文件夹,所以我添加了它。据我了解,这并不违反Standard Directory Layout

我编写了一些 JUnit 测试,但是当我尝试通过 mvn test 运行它们时,我收到“没有要运行的测试”消息:

----------------------------------- -------- T E S T S -------------------------------------------------- ----- 没有要运行的测试。

结果:

测试运行:0,失败:0,错误:0, 跳过:0

当然,我可以从run as 对话框运行这些测试,但我希望 maven 为我做这件事。有没有办法做到这一点?

提前致谢

【问题讨论】:

  • 您确定您编写的测试在 src/test/java 文件夹中吗?
  • @lobster:是的,我把它们写在 src/test/java/com/my/webapp/SomeTests.java 下
  • 你可以通过 eclipse run as 来运行那个特定的测试吗?你可以从命令行运行“mvn clean install test”吗?
  • 这很奇怪。你在 target/test-classes 文件夹下看到编译的测试类了吗?如果没有,那么你的测试甚至没有被编译。
  • 它们正在编译,但似乎不被识别为测试

标签: java unit-testing maven-2 maven-3


【解决方案1】:

maven surefire plugin 的默认配置仅包括遵循命名约定的测试类,请参阅includes 参数的默认值:

<includes>
    <include>**/Test*.java</include>
    <include>**/*Test.java</include>
    <include>**/*TestCase.java</include>
</includes>

可以在Inclusions and Exclusions of Tests找到一些配置示例。

【讨论】:

  • 确实,我的一些测试称为 *Tests.java。将其更改为 *Test.java 并工作:) 非常感谢。
猜你喜欢
  • 2019-09-04
  • 2021-12-16
  • 1970-01-01
  • 2020-12-19
  • 1970-01-01
  • 2015-10-19
  • 2014-02-24
  • 2019-04-25
  • 1970-01-01
相关资源
最近更新 更多