每次提交后运行单元测试套件的最佳方法是什么?
我对你在分支机构中完成所有功能/更改并保持主干稳定的情况特别感兴趣。
我的源代码控制是SVN,我使用陆龟SVN作为我的客户端。
是否存在SVN事件或其他类似内容我可以调用.cmd / .bat文件?
如果答案是巡航控制,你如何用巡航控制检查所有分支?
答案 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 - 它可以在部署之前运行单元测试。
答案 3 :(得分:0)
使用Buildbot。
这个实用程序名为svn_buildbot.py,可以从你的subversion post-commit脚本中调用。
Buildbot是颠覆性的(以及许多其他VC系统),因此可以配置为从您提交的分支中提取新的修订版本。 它还提供电子邮件通知和Web界面,用于状态检查和强制在特定版本/分支的构建。