【问题标题】:Run JUnit tests automatically before commit in Eclipse在 Eclipse 中提交之前自动运行 JUnit 测试
【发布时间】:2011-06-14 16:38:27
【问题描述】:

这与this question 几乎相同,但有两个不同。

  1. 我想在提交之前而不是一直运行单元测试(已接受答案)。
  2. 问题的答案和 cmets 似乎表明建议的插件不再受支持。

我试图解决的基本问题只是忘记为小的快速更改运行单元测试,而且它似乎应该可以自动化。

【问题讨论】:

  • 我在另一个问题中提到的 Infinitest 肯定仍然受支持,实际上现在是开源的! :) 但这并没有解决项目#1 ...
  • @MatrixFrog:请将此作为答案发布; (1) 可能没有好的解决方案,但这似乎是一个非常好的评估插件。
  • +1 @MatrixFrog - Infinitest 被许多人认为是最好的 CT 实用程序。
  • @#1 - “不是一直”?如果您的测试足够快,为什么不一直运行它们呢?它仍然解决了您提到的问题,即在提交之前忘记运行它们。我只会使用链接到问题的答案。
  • @Gweebz:可能有数百甚至数千个测试,这可能会给大量编辑/保存带来一些负担。 Infinitest 看起来可以通过一些聪明的方法来解决这个问题。

标签: java eclipse unit-testing automated-tests


【解决方案1】:

关于您所链接的问题,我提到了Infinitest。它不适合您的项目 #1,但它只会重新运行可能已损坏的测试(大概它会进行某种巧妙的代码分析——我不知道细节)所以无论如何您可能会发现它很有用。它肯定仍然受支持,事实上它现在是开源的!

【讨论】:

  • 我没有使用过 Infinitest,但值得一提的是,他们声称它可以配置为仅运行受发生代码更改影响的测试。这样它就不会一直运行它们。相反,它会找出哪些代码路径可能会受到任何更改的影响,并仅重新运行相关测试。如果你问我,值得一看...
  • @Gweebz 这正是我所说的“可能已经失败的测试”的意思,但你解释得比我清楚得多。如果您愿意,请随时编辑我的答案。
【解决方案2】:

我要解决的基本问题是 只是忘记运行单元测试 对于小的快速变化,似乎 应该可以实现自动化。

如果您的测试速度很快,您可以在每次保存时运行它们。见this blog by Misko Hevery

或者,您可以使用提交挂钩在接受更新之前运行测试。

【讨论】:

  • 有趣。如果它可以在本地运行,SVN 钩子的想法会很好,但看起来钩子必须在 svn 服务器上运行(除非我遗漏了一些东西)。在保存时进行测试可能已经足够了,但我必须修改该博客文章以与 Maven 一起使用,因为它以 ant 为中心。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 2015-06-28
  • 2010-10-13
相关资源
最近更新 更多