我正在使用IntelliJ-Idea编写Java守护进程。我们使用JUnit对我们的代码进行单元测试,并希望在登录到subversion时自动运行。
是否有可用的工具可以自动运行单元测试,然后通过电子邮件发送报告并发送到Hobbit?
答案 0 :(得分:2)
我们使用Hudson作为持续集成服务器。您可以设置作业以按特定时间间隔轮询SCM并对其运行Ant任务。我们的设置是在检测到SVN的新变化时运行构建和测试目标,然后在构建或测试目标失败时向参与项目的人发送电子邮件。
答案 1 :(得分:2)
我认为你应该像其他人所建议的那样研究持续集成。我个人尝试过CruiseControl和Hudson,而且更喜欢Hudson。您可以下载并运行它以查看您是否喜欢它,配置是轻而易举的,只需:
如果您使用它,它内置了对Maven和Ant的支持,但如果没有,您只需编写自己的批处理文件/ shell脚本。
如果不能选择持续集成,则可以查看Subversion post-commit hook(http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5-sect-2.1)的使用。我没有为你描述的目的使用钩子的经验,所以我真的不能在这里提供很多帮助。
答案 2 :(得分:2)
我们将TeamCity用于所有Java项目。大多数情况下,我们使用junit和maven,TeamCity已经有了maven2 runner,因此设置新的构建任务很容易。
你告诉TeamCity你的svn主干是哪里,然后选择一个跑步者。
如果您已经使用IntelliJ,那么TeamCity就有一个插件,因此如果您在提交时通过了测试,则可以获得即时反馈。如果您真的很懒,可以在执行提交时选择远程运行,并选择“仅在测试通过时提交”。
最后一点。 TeamCity不仅限于运行java测试,我们也用它来运行python单元测试。
答案 3 :(得分:1)
我们使用CruiseControl自动构建项目并在更改提交到subversion时运行单元测试。它可以配置为在构建/单元测试失败时发送电子邮件通知。
答案 4 :(得分:1)
不确定Hobbit,但TeamCity是另一个不错的Continuous Integration服务器。它可以配置为在Subversion提交上运行,并具有一个不错的IntelliJ插件。它也会发送电子邮件。