如何在eclipse中运行单个测试包及其子包?

时间:2014-06-13 09:26:22

标签: java eclipse unit-testing maven junit

我有一个Java / Maven项目,我的测试在src / test / java下。我有两个包集成,每个包都有子包。我想在单元包及其子包中运行所有测试。

我正在使用JUnit4和Eclipse Kepler SR2。

我知道右键单击 - >运行它应该运行,但不知何故Eclipse没有找到任何测试。

这有效:

  • 单独运行每项测试
  • 右键单击src / test / java - >运行所有测试跑来跑去。
  • 仅使用mvn测试运行单元测试(使用surefire插件)

但我想为eclipse使用一些codecoverage插件,为此我需要在没有集成测试的情况下在eclipse中运行测试。并且这不是覆盖工具的问题,因为junit测试也不起作用的vanillia。

测试类被编译为target / test-classes。他们在那里: - /

那么有什么建议导致这个吗?

修改

好吧,似乎eclipse只在所选包中直接执行测试。如何在子包中执行测试?

3 个答案:

答案 0 :(得分:0)

我不确定eclipse的具体细节,但你可以尝试一个测试套件,并设置运行它。它可能比一个包更容易指出。

@RunWith(Suite.class)
@SuiteClasses({
    unit.OneClass.class, 
    unit.TwoClass.class
})
public class UnitTestSuite {

答案 1 :(得分:0)

您要做的事情(通过右键单击它来运行包中的所有测试)原则上应该起作用。当然在Eclipse Kepler SR2中为我做。

如果它不起作用,可能原因之一是:

  • 旧版Eclipse
  • 损坏安装
  • 损坏的项目
  • 错误的类路径设置
  • junit3 / 4之间的一些不一致
  • 点击错误的内容

答案 2 :(得分:0)

您可以尝试使用cobertura。你有maven项目所以在项目级别使用MAVEN命令 mvn cobertura:cobertura 生成/target/site/cobertura/index.html

下的代码覆盖率

然而,还有一个插件名称为 eclemma ,这可能会有所帮助。