【问题标题】:Running JUnit test suite from inside Eclipse从 Eclipse 内部运行 JUnit 测试套件
【发布时间】:2013-02-11 23:20:36
【问题描述】:

从历史上看,我一直是这样编写单元测试的:

public void WidgetTest {
    @Test
    public void test_whatever() {
        // Given...

        // When...

        // Then...
    }
}

这允许我在 Eclipse 和Run As >> JUnit 中右键单击我的测试文件,并直接从 Eclipse 内部测试那个特定的测试。然后,在进行本地(基于 Ant)构建时,我配置了一个 <junit> Ant 任务来一次运行我所有的 src/test/java 测试。

我现在正在寻找一种中间解决方案。也就是说,一种从 Eclipse 内部运行我的所有测试类的方法,只需单击一个按钮即可。一位同事建议 Junit 有一个“测试套件”的概念,我可以将所有测试类附加到它,但看起来这个测试套件是某种我不想包含在其中的 JAR/工具我的项目。

所以我问:我怎样才能定义这样一个“测试套件”,由我的所有测试类组成,并从 Eclipse 内部一口气运行所有这些?提前致谢。

【问题讨论】:

标签: java eclipse unit-testing junit test-suite


【解决方案1】:

您可以在 Eclipse 中右键单击项目或包并选择“运行方式”->JUnit 测试,以运行该项目或包中的所有测试。除非您只想运行测试的子集,否则不需要测试套件。

【讨论】:

  • 这对我来说是最干净的方法。 TestSuite 没有以前那么有用了。它在某些项目中可能仍然有意义(例如 Ant + JUNIT 3.X),但在其他一些项目中无用(maven + JUNIT 4)。从 Eclipse 来看,Perception 解决方案在任何情况下都可以。
  • 感谢@Perception +1 - 请在 kolja TM 的回答下方查看我的评论 - 我有同样的问题要问你!再次感谢!
  • @DirtyMikeAndTheBoys - np,是的,它有效地扫描您的资源(项目、包等)以查找带有 @Test 注释的方法,然后使用嵌入式 jUnit 插件运行它们。
  • 有没有办法在代码中做同样的事情?我希望从命令行运行整个测试套件,我认为编写一个单独的类来运行测试套件,然后调用该类是最简单的。我正在运行 JUnit 4。
  • @meanderingmoose - 绝对考虑研究 Maven,最好插入 Jenkins 等 CM 工具。您可以查看这个 SO 问题 [stackoverflow.com/questions/255370/…,了解从命令行与 PDE 交互的一些提示,但坦率地说,所描述的技术已经过时了,我真的相信这比它的价值更麻烦。
【解决方案2】:

您是否尝试过右键单击您的项目并选择并选择 Run as -> JUnit test?这会运行项目中的所有单元测试。

【讨论】:

  • 感谢@kolja TM (+1) - 它如何知道哪些是单元测试?它只是扫描@Test 方法吗?再次感谢!
猜你喜欢
  • 2011-04-29
  • 1970-01-01
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 2013-12-11
  • 2012-02-17
  • 2012-12-04
  • 2020-02-27
相关资源
最近更新 更多