1

我正在使用 IntelliJ-Idea 编写 Java 守护程序。我们使用 JUnit 对我们的代码进行单元测试,并希望在签入到颠覆时自动运行。

是否有任何可用的工具可以自动运行单元测试,然后通过电子邮件和Hobbit发送报告?

4

5 回答 5

2

我们使用Hudson作为我们的持续集成服务器。您可以设置作业以在特定时间间隔轮询您的 SCM 并在其上运行 Ant 任务。当检测到 SVN 中的新更改时,我们设置了运行构建和测试目标,然后在构建或测试目标失败时向参与项目的人员发送电子邮件。

于 2008-11-02T17:49:28.100 回答
2

正如其他人所建议的那样,我认为您应该研究持续集成。我个人尝试过 CruiseControl 和 Hudson,并且更喜欢 Hudson。您可以下载并运行它,看看您是否喜欢它,配置轻而易举,只需:

  1. 从http://hudson.dev.java.net下载 hudson.war 。
  2. 以独立模式运行它(java -jar hudson.war)。
  3. 将浏览器指向http://localhost:8080进行配置和使用。

如果您使用 Maven 和 Ant,它内置了对它们的支持,但如果没有,您可以简单地编写自己的批处理文件/shell 脚本。

如果不能选择持续集成,您可以研究使用 Subversion 提交后挂钩 ( http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5-第 2.1 节)。我没有为您描述的目的使用钩子的经验,所以我真的无法在这里提供很多帮助。

于 2008-11-02T18:05:43.247 回答
2

我们将 TeamCity 用于我们所有的 Java 项目。大多数情况下,我们将 junit 与 maven 一起使用,而 TeamCity 已经有一个 maven2 运行器,因此设置新的构建任务很容易。

你告诉 TeamCity 你的 svn trunk 在哪里,然后选择一个跑步者。

如果您已经使用 IntelliJ,则有一个 TeamCity 插件,因此如果您的测试在提交时通过,您可以获得即时反馈。如果你真的很懒,你可以在提交时选择远程运行,然后选择“仅在测试通过时提交”。

最后一点。TeamCity 不仅限于运行 java 测试,我们也使用它来运行 python 单元测试。

于 2008-11-04T19:52:59.287 回答
1

我们使用 CruiseControl 自动构建项目并在提交更改时运行单元测试。如果构建/单元测试失败,它可以配置为发送电子邮件通知。

于 2008-11-02T17:48:37.057 回答
1

不确定 Hobbit,但TeamCity是另一个不错的持续集成服务器。它可以配置为在 Subversion 提交时运行,并且有一个不错的 IntelliJ 插件。它也会发送电子邮件。

于 2008-11-02T17:51:09.907 回答