2013-03-18 44 views
3

目前,已经开始动态开始在特拉维斯CI服务上开始持续集成Plone插件。我已经看到很多软件包都在做自己的测试,从运行单元测试到执行合并请求的源代码。我看到了这个健康的发展,因为它需要设置自己的测试运行者的痛苦,并且让更少的Python社区成员能够更轻松地进行测试。如何测试特拉维斯CI上的Plone插件

但是,我还没有找到最佳实践的明确指南,如何在Travis CI上测试他/她的插件。至少在我的情况下,这导致了cargo cult programming和来自其他随机插件的复制粘贴代码,因为我不知道有什么可用以及应该如何执行。

莫非

作者,谁拥有的洞察力特拉维斯CI和Plone测试是如何工作的澄清

  • 什么样的测试,你应该特拉维斯CI运行

  • 如何,你应该在运行这些测试中,格外集体包的上下文

  • 什么是最好的例子,你应该看看

  • 当这些做法或应记录在案*

  • 一个如何测试针对多个Plone的版本,或者是possbile

  • 哪里管的结果呢?个人电邮?

*)提供给那些谁打开他们的文本编辑器,花五分钟就倾销他们的大脑中的内容传统的芬兰胡萝卜

回答

3

什么样的测试,你应该特拉维斯CI

运行

所有不在Plone内核中但尚未在jenkins.plone.org上进行测试的集合包或其他包。

你应该如何在集体包的上下文中运行这些测试,在格外

http://datakurre.pandala.org/2012/09/speed-up-your-plone-add-on-tests-on.html

又见内伊奇的谈话:

http://de.slideshare.net/zupo/travis-ci-fun-and-easy-ci-for-your-plone-packages

是什么最好的例子,你应该看看

这些软件包都使用在阿斯科的博文中描述的方法:

https://github.com/collective/collective.mailchimp https://github.com/plone/plone.act https://github.com/plone/plone.app.collection

如果这些做法或应记录在案*

的测试团队目前正在处理测试文档这将包括travis ci最佳实践。

一个如何测试针对多个Plone的版本,或者是possbile

这应该是可能的。但我不确定有人尝试过。也许别人能够回答这个问题。

在哪里管结果?个人电邮?

我想这取决于包。我目前使用我的个人电子邮件地址收集我正在处理的集合包。

+0

还发现这个包显示如何测试不同的Plone版本:https://github.com/collective/Products.Carousel – 2013-04-08 15:58:56

+0

Products.Carousel的方式是目前的方式。 在我的博客文章后,HéctorVelare等人花了很多时间将可重复使用的Travis-XXcfgs制作成http://github.com/collective/buildout.plonetest 此外,似乎没有必要“ mkdir -p buildout-cache/eggs“放入.travis.yml文件(这足以完成build-cache/downloads)。 – 2013-04-09 02:00:37

3

一个如何测试针对多个Plone的版本,或者是possbile

plone.api测试针对不同的Python(2.6 & 2.7)和Plone(4.2 & 4.3)版本:https://github.com/plone/plone.api/blob/master/.travis.yml

在哪里管结果?个人电邮? 如果您将电子邮件通知留空,它将通过电子邮件发送触发构建的人员(又名最后一个提交者)。我觉得这是一个理智的默认。

除此之外,我总是发布消息IRC频道:对于我们维持包装,#客户客户端的工作,我们做的,#sprint为plone.api #niteoweb(这个需要改变,Plone的需求我们可以发布此类通知的CI频道)。

+0

我们已经为jenkins.plone.org通知提供了Plone CI频道,并且我们正在努力将发送的电子邮件数量降至最低。在我看来,发送集合包的电子邮件太吵了。 – tisto 2013-03-19 09:38:14

+0

即使您只将电子邮件发送给推送提交的人员? (如果我理解正确,这是默认行为) – zupo 2013-04-02 07:22:17

+0

这应该没问题。 – tisto 2013-04-02 09:21:25