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

Java 在构建Eclipse项目时自动运行JUnit,java,eclipse,junit,Java,Eclipse,Junit,我想在保存Eclipse项目时自动运行单元测试。每当我保存一个文件时,项目就会自动生成,所以我认为这在某种程度上是可能的 我该怎么做?是否唯一的选择就是获取一个ant脚本并将项目构建更改为使用目标构建和编译的ant脚本 更新我现在将尝试两种不同的方法: 为我的项目运行执行ant目标测试的附加构建器(反正我有一个ant脚本) ,由 右键单击项目>属性>构建器>新建,然后添加ant构建器 但是,在我看来,在每次保存时运行单元测试是不明智的。看看Eclipse是否有一个插件 我也将TESTNG视为JU

我想在保存Eclipse项目时自动运行单元测试。每当我保存一个文件时,项目就会自动生成,所以我认为这在某种程度上是可能的

我该怎么做?是否唯一的选择就是获取一个ant脚本并将项目构建更改为使用目标构建和编译的ant脚本

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

  • 为我的项目运行执行ant目标测试的附加构建器(反正我有一个ant脚本)
  • ,由

  • 右键单击项目>属性>构建器>新建
    ,然后添加ant构建器


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

    看看Eclipse是否有一个插件


    我也将TESTNG视为JUnit的替代品。它有很多特性,可能有助于将单元测试类划分为较短和较长的运行组。

    当然,运行所有测试是不明智的,因为我们可以有例如20000个测试,而我们的更改只会影响其中的50个,其中包括对我们更改的类的测试,以及对与我们的类协作的类的测试


    有一个名为infinitetest的不安全插件,它只在保存更改后运行一些测试(与我们更改的类相关)。它还与编辑器(使用注释)和问题视图(显示未通过测试,如错误)进行了很好的集成

    我相信您正在寻找

    我之前已经尝试过这个概念,我个人的结论是,为了让它有用,你需要大量的测试,这需要时间。就我个人而言,我经常存钱,所以这种情况会经常发生,但我并不认为这是一种优势。对你来说可能不一样

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


    对你有用的东西总是一个品味的问题。这就是我的发现。

    我建议针对所描述的情况进行INFINITEST测试。Infinitest现在是GPLv3许可产品。Eclipse更新站点:

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


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

    Ah,当然。Hudson正在进行集成,但我发现在Eclipse中单击鼠标在更改后开始测试有点烦人。;-)也许插件应该非常聪明,只运行测试我更改的类的测试用例。对每个更改运行所有测试都太烦人了。只是一个问题:您在签入之前确实在本地运行了单元测试,对吗?当你运行它们时,你有经验法则吗?在你认为你的编辑会破坏某些东西之后?或者在提交之前只提交一次?我们没有完整的测试覆盖率(啊,遗留代码的乐趣)。如果我认为有必要,我会进行测试。我知道构建服务器将运行测试,并在测试失败时通知我,所以我不必这样做。InFinitest是我发现的最好的一个,也是唯一一个在积极开发中的插件。仔细考虑后,我希望看到一个插件执行我手动启动的最后一个测试。现在这会有很大帮助。最不合身的看起来不错,也许我可以试试。但是payware并没有得到优先权…;-)它确实有一个非常好用的插件。测试运行得很快,并且在IDE中显示为复制错误