【发布时间】:2019-03-05 19:51:53
【问题描述】:
我有一个由多个 Maven 项目组成的项目,其中测试位于单独的模块中。例如:
com.xyz.abc.feature.model
com.xyz.abc.feature.model.test
这些测试是 JUnit 测试,我一直使用 mvn install 从命令行运行它们。我想单步执行特定测试中的代码,因此我已将该项目作为 Maven 项目导入 Eclipse。我尝试在单元测试中放置一个断点,Eclipse 在执行mvn install 目标时不会停止。
在这种情况下如何调试特定测试?
【问题讨论】:
-
第一个问题是模块分离。单元测试属于它们相应的模块,这意味着您在
src/main/java/PACKAGE中有生产代码,在src/test/java/PACKAGE中有相应的单元测试。这些测试将由 maven-surefire-plugin 运行,或者您可以简单地从 Eclipse 启动它们,而无需在命令行上执行mvn install... -
改变测试的结构不是这里的选择。
-
为什么不呢?以这种方式拥有它们是惯例。所以问题是你为什么不遵守约定?是什么原因?