【问题标题】:Using Ant as a continuous testing tool使用 Ant 作为持续测试工具
【发布时间】:2015-08-08 17:17:22
【问题描述】:

因此,经过多次搜索,我未能找到适用于 IntelliJ 14 的持续测试工具。

我偶然发现一篇文章引用了使用 eclipse 和 Ant 来模拟这一点。保存后,Ant 会针对任何已修改的测试运行测试。

我试图复制这个,但是,唉!我以前从未使用过 Ant 并且发现它非常困难。我在 Intellij 中设置并配置了一个通用的 Ant 构建文件,但根本不知道如何完成我的任务。

非常感谢任何帮助,指向正确方向的指针。我已经搜索但只找到了需要首先解密的信息。

【问题讨论】:

    标签: unit-testing testing ant intellij-idea junit


    【解决方案1】:

    Eclipse 具有构建器功能,您可以为您的项目创建一个AntBuilder,另请参见https://stackoverflow.com/a/15075732/130683
    IntelliJ 有一个 trigger feature 可以达到目的。
    还有 Infinitest ,它为 Eclipse 和 IntelliJ 提供了一个持续测试插件可能会有所帮助。

    【讨论】:

    • 谢谢。我会调查你提到的触发器。
    【解决方案2】:

    Ant 是一个构建工具。尽管 IntelliJ 会为您执行此操作,但您需要 IntelliJ 来执行此操作,这意味着您无法在没有 IntelliJ 的情况下分发您的应用程序。

    Ant 使用依赖矩阵进行构建。这有时对开发人员来说很难理解,但它基本上意味着你定义了步骤,这些步骤是如何相互依赖的,并让构建工具准确地弄清楚如何完成它的工作。 Ant 适用于 Java,就像 Make 适用于 C 和 C++ 应用程序一样。

    Ant 使用 targets 这是您指定的步骤。例如,您可能有一个名为 package 的目标,它将构建您的 jar 或 war。该 target 可能依赖于另一个名为 compile 的目标来编译代码。该目标可能取决于代码生成阶段(例如,如果您有 WSDL 文件)。

    每个目标都是一组任务。例如,compile 目标中可能包含<javac> 任务。它可能还需要<mkdir> 任务来创建存储类文件 的工作目录。

    Ant 上有很多书籍,Ant Website 上有教程。你没有解释你遇到的问题,所以很难比这更具体。

    Ant 也可以运行您的单元测试。有一个可以运行测试的<junit> 目标,您可以通过<batchtest> 子实体指定是否要运行几乎所有<junit> 测试,或者如果您有通过@ 指定的程序驱动程序987654329@实体。

    一旦您获得了可以在 IntelliJ 之外构建和运行测试的 Ant 脚本,您现在可以获得像 Jenkins 这样的持续集成工具。持续集成工具会监视您的存储库是否有更改,如果发生更改,则会构建您的应用程序。这是尽早发现错误的好方法。

    这与持续测试有什么关系?好吧,如果您的 Ant 脚本能够运行单元测试,那么持续集成引擎不仅可以构建您的应用程序,还可以针对发生的每一个更改运行单元测试。

    Jenkins 很不错,因为它使用起来非常简单。你下载一个jenkins.war,你可以通过java -jar jenkins.war命令启动Jenkins网页。这会在您机器上的端口 8080 上启动一个 Web 服务器。显然,如果您愿意,可以将 Jenkins 配置为在不同的端口和 Tomcat 下运行。它可以与 Windows Active Directory、LDAP 和许多其他用户验证系统集成。

    Jenkins 将向您显示测试的图表和图表,让您知道哪些测试失败或通过了,并将通过电子邮件、推文、IM、Jabber 甚至 Facebook 帖子通知您任何问题。人们甚至在他们的办公室里设置了一个红绿灯,当构建或测试失败时会变红。

    一步一个脚印。找一本关于 Ant 的好书。阅读 Ant 网站上的教程。然后尝试获取一个可以工作的 Ant 脚本来构建您的应用程序。如果您遇到具体问题,可以寻求帮助。

    构建完成后,扩展脚本以运行单元测试。完成后,下载 Jenkins 并尝试启动并运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多