我有一个Java/Maven项目,我的测试在src/test/java下。在那里我有两个包集成和单元,每个都有子包。我想在单元包和它的子包内运行所有测试。
我正在使用JUnit 4和Eclipse Kepler SR 2。
我知道使用右键单击-〉run它应该运行,但不知何故Eclipse没有找到任何测试。
这是可行的:
- 单独运行每个测试
- 运行所有的测试,右键点击src/test/java -〉run as。
- 使用mvn测试只运行单元测试(使用surefire插件)
但是我想使用一些eclipse的codecoverage插件,为此我需要在eclipse中运行测试,而不需要集成测试。这不是覆盖工具的问题,vanillia作为junit测试运行也不起作用。
测试类被编译到target/test-classes。它们在那里:-/
有什么建议是什么原因造成的?
编辑:
好的,看起来eclipse只直接在选定的包中执行测试。如何在子包中执行测试?
4条答案
按热度按时间j5fpnvbx1#
我不确定eclipse的具体细节,但是你可以尝试一个测试套件,并设置运行它,它可能比一个包更容易指向。
等等
b4lqfgs42#
你正在尝试做的事情(通过右键单击包来运行包中的所有测试)原则上应该可以工作,在Eclipse Kepler SR 2中对我来说当然可以。
如果它不起作用,大概原因是:
oogrdqng3#
您可以尝试使用cobertura。您有maven项目,因此在项目级别使用MAVEN命令mvn cobertura:cobertura会在/target/site/cobertura/index. html下生成代码覆盖率
不过,还有一个插件名为eclemma,这可能会有所帮助。
t40tm48m4#
Eclipse release 2023-03(4.27)现在可以开箱即用。您可以右键单击包并运行所有测试,它现在也会运行子包测试。
https://www.eclipse.org/eclipse/news/4.27/jdt.php#junit-subpackage-support