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

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

有帮助吗?

解决方案

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

  1. http://hudson.dev.java.net 下载hudson.war。
  2. 以独立模式运行(java -jar hudson.war)。
  3. 将浏览器指向 http:// localhost:8080 进行配置和使用。
  4. 如果您使用它,它内置了对Maven和Ant的支持,但如果没有,您只需编写自己的批处理文件/ shell脚本。

    如果不能选择持续集成,可以考虑使用Subversion post-commit钩子( http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5-sect-2.1 )。我没有为你描述的目的使用钩子的经验,所以我真的不能在这里提供很多帮助。

其他提示

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

我们将TeamCity用于所有Java项目。大多数情况下,我们使用junit和maven,TeamCity已经有了maven2 runner,因此设置新的构建任务很容易。

你告诉TeamCity你的svn主干是哪里,然后选择一个跑步者。

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top