每次提交后运行单元测试的最佳方法是什么? - svn - 每个功能的分支

时间:2008-09-19 04:32:02

标签: svn unit-testing tortoisesvn qa

每次提交后运行单元测试套件的最佳方法是什么?

我对你在分支机构中完成所有功能/更改并保持主干稳定的情况特别感兴趣。

我的源代码控制是SVN,我使用陆龟SVN作为我的客户端。

是否存在SVN事件或其他类似内容我可以调用.cmd / .bat文件?

如果答案是巡航控制,你如何用巡航控制检查所有分支?

4 个答案:

答案 0 :(得分:9)

我认为您应该在提交之前运行单元测试。如果你要在每次提交时进行测试,你应该尽早做到这一点,以拒绝重大改变。

您可以使用subversion hooks执行此操作。如果添加pre-commit挂钩,则可以在提交之前执行构建/测试。钩子脚本将在服务器上执行。

答案 1 :(得分:2)

您需要像CruiseControl这样的持续集成服务器。 这将监视svn的更改,在提交时触发构建,在测试套件运行时跟进它并直接在系统托盘中标记任何错误(或电子邮件或任何您认为合适的通知) 您需要通过编写一个定义项目需求的小脚本(主要是XML)来设置CruiseControl。推荐..一旦你品尝过它,你就不会回去了。 Here's one that I set up back in the day

更新:我认为没有全局检查所有分支类型的设置。每个分支应该是一个不同的主干网址...这意味着CruiseControl的不同项目。 如果你按照推荐的subversion分支方式(see here),因为CruiseControl本身似乎在Subversion中使用分支..这似乎是要走的路。

答案 2 :(得分:0)

我也会设置自动构建/部署过程。查看Cruise Control - 它可以在部署之前运行单元测试。

http://cruisecontrol.sourceforge.net/

答案 3 :(得分:0)

使用Buildbot

这个实用程序名为svn_buildbot.py,可以从你的subversion post-commit脚本中调用。

Buildbot是颠覆性的(以及许多其他VC系统),因此可以配置为从您提交的分支中提取新的修订版本。 它还提供电子邮件通知和Web界面,用于状态检查和强制在特定版本/分支的构建。