在构建Eclipse项目时自动运行JUnit

时间:2009-11-21 13:21:03

标签: java eclipse junit

我想在保存Eclipse项目时自动运行单元测试。每当我保存文件时,项目都会自动构建,所以我认为这应该是可行的。

我该怎么办?唯一的选择是获取ant脚本并更改项目构建以使用目标 build compile 的ant脚本吗?

更新我现在会尝试两种不同的方法:

  1. 为我的项目运行其他构建器,执行ant目标 test (我还有一个ant脚本)
  2. ct-eclipse,由Thorbjørn
  3. 推荐

6 个答案:

答案 0 :(得分:8)

确定运行所有测试都是不明智的,因为我们可以进行例如20.000次测试,而我们的更改只会影响其中50个,其中包括我们已更改的类的测试以及针对协作的类的测试和我们一起上课。

有一个名为infinitetest http://improvingworks.com/products/infinitest/的unseful插件,它只在我们保存更改后运行一些测试(与我们已更改的类相关)。它还与编辑器(使用注释)和问题视图很好地集成 - 显示错误等不通过测试。

答案 1 :(得分:4)

Right click on your project > Properties > Builders > New,然后添加你的ant ant builder。

但是,在我看来,在每次保存时运行单元测试是不明智的。

答案 2 :(得分:2)

查看Eclipse是否有Infinitest的插件。

我还将TestNG视为JUnit的替代品。它有许多功能可能有助于将单元测试类划分为更短和更长的运行组。

答案 3 :(得分:1)

我相信您正在寻找http://ct-eclipse.tigris.org/

我之前已经尝试过这个概念,我个人的结论是,为了使这个有用,你需要花费很多时间进行大量的测试。我个人经常保存,所以这种情况经常发生,我并没有发现这是一个优势。对你来说可能有所不同。

相反,我们咬紧牙关并设置了一个“构建服务器”,它可以监视我们的CVS存储库并在项目发生变化时构建项目。如果编译失败或测试失败,我们会很快收到通知,以便我们对其进行补救。

一如既往的品味对你有用。这就是我发现的。

答案 4 :(得分:1)

我会推荐Inifinitest用于描述的情况。 Infinitest现在是GPL v3许可产品。 Eclipse更新站点:http://infinitest.github.com

答案 5 :(得分:-1)

然后你必须使用INFINITEST。 INFINITEST帮助您进行连续测试。 无论何时进行更改,Infinitest都会为您运行测试。

它智能地选择测试,并且只运行您需要的测试。它报告单元测试失败,如编译器错误,并提供其他信息,帮助您编写更好的测试。