【问题标题】:Is it possible to run incremental/automated JUnit testing in Eclipse?是否可以在 Eclipse 中运行增量/自动化 JUnit 测试?
【发布时间】:2011-06-18 01:00:22
【问题描述】:

Eclipse 支持增量编译。如果我保存一个源文件,那么它将编译修改后的文件。

在这种增量编译之后是否也可以运行同一个包的 JUnit 测试并在错误视图中显示失败。然后我可以在同一个视图中看到 JUnit 测试失败和编译错误,而无需额外操作。有什么插件可以做到吗?

【问题讨论】:

  • 我认为您很快就会发现这样的功能很烦人和/或减慢了您的速度。
  • 它应该只运行已保存类的测试。如果单元测试作为编译器运行的时间更长,那么它不是单元测试,而是功能测试。您应该拆分单元测试和功能测试。

标签: java eclipse junit automated-tests continuous-testing


【解决方案1】:

你必须看看这些插件:

  • JUnit Max:不是免费的,由 Kent Benk(TDD 实践背后的人之一)开发;
  • MoreUnit:免费,但基本上致力于帮助您编写测试;
  • Infinitest:现在免费了,这个插件专门用来运行与你刚刚修改的文件相关的测试。

所以根据你的需求,我建议你安装 MoreUnit 和 Infinitest 插件。

【讨论】:

  • 我上次检查时,Infinitest 是免费的,但仅用于非商业用途。看起来现在它只是 100% 完全免费。很高兴知道,谢谢!
  • @MatrixFrog 是的,确实。我的一些前同事(现在为 algodeal 工作 - beta.algodeal.com)现在正在开发这个插件,并将其免费提供,托管在 GitHub 上。
【解决方案2】:

使用 ExternalToolBuilder。

可以通过源修改触发。

有 Eclipse 自定义功能(integrate external tool builder)可以满足您的需求。但是编写我从未使用过的脚本需要额外的努力。自动测试用例不是很方便,至少在Eclipse中单击一下就可以看到绿条了:)

【讨论】:

  • 我们有大约。 10 万个 JUnit 测试。我只想运行与当前类相关的子集。此运行时间应约为一秒或更短。手动选择测试并设置模拟所需的命令行参数会消耗很多时间并且在很多情况下会忘记。
  • JUnit4 提供了丰富的选择来运行所有测试用例的子集。使用:@RunWith(Suite.class) @Suite.SuiteClasses({ A.class, B.class, ... })
【解决方案3】:

您可以使用Alt+Shift+X,T 运行项目中的所有测试。我认为让它比这更自动化可能会对性能造成严重影响。增量编译一次最多编译 1 个文件,但您说的是可能运行数百个测试。

【讨论】:

  • 我不想运行项目的所有测试。我只想运行与已保存类相关的测试。我们有大约。 10 万个 JUnit 测试。这将运行很长时间。
猜你喜欢
  • 2010-09-29
  • 2011-05-21
  • 1970-01-01
  • 2016-02-05
  • 2015-06-10
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多