Php 使用Jenkins CI进行单元测试

Php 使用Jenkins CI进行单元测试,php,android,ios,jenkins,continuous-integration,Php,Android,Ios,Jenkins,Continuous Integration,我正在为我的开发团队研究Jenkins,我开始意识到我最终想要的是更多的单元测试和更少的集成 目前我对与Jenkins的集成或部署不太感兴趣。我现在最想做的是在提交代码时自动化测试,并在出现问题时向开发人员报告 詹金斯仍然是一个很好的解决方案吗 如果是,我是否需要先编写所有的单元测试,然后将它们添加到Jenkins中?每个单元测试我需要一个Jenkins作业,还是可以将多个单元测试合并到一个Jenkins作业中 最后,我想自动化测试PHP、Java(Android)和Objective-C(iO

我正在为我的开发团队研究Jenkins,我开始意识到我最终想要的是更多的单元测试和更少的集成

目前我对与Jenkins的集成或部署不太感兴趣。我现在最想做的是在提交代码时自动化测试,并在出现问题时向开发人员报告

詹金斯仍然是一个很好的解决方案吗

如果是,我是否需要先编写所有的单元测试,然后将它们添加到Jenkins中?每个单元测试我需要一个Jenkins作业,还是可以将多个单元测试合并到一个Jenkins作业中

最后,我想自动化测试PHP、Java(Android)和Objective-C(iOS)

谢谢


db

是的,Jenkins绝对是一个有效的解决方案,它将允许您为Android和iOS运行测试。对于Php,我不能说,但我想是的

Jenkins基本上是一个脚本运行程序,可以插入scm并运行由scm更改触发的脚本。因此,编写您的测试,在您的机器上运行它们,然后找到一种方法让它们在每次提交时通过Jenkins自动运行:这就是CI的本质

对于Android和iOS,运行构建作业和执行测试有点棘手,因为您需要构建来运行模拟器(尽管如果您足够富有,仍然可以将设备连接到服务器)。还有一些插件,比如Jenkins Android emulator插件。

是的,Jenkins(以及几乎任何其他同名CI工具)绝对能够运行单元测试

关于术语的旁白:“集成”是“持续集成”,并不意味着“集成测试”(尽管您当然也可以运行这些测试)。它指的是“集成更改”,即签入。在过去很久的day now(谢天谢地!)中,这并不是一个既定目标:开发人员可以几周不签入,或者只签入个人分支。将代码集成到主线可能需要几周的时间。解决这个问题的(当时是革命性的)想法是:每晚构建,因此术语“夜间构建”。自然的扩展是持续构建,这需要服务器轮询CM系统的更改

从这个角度来看,没有集成就不能运行单元测试,因为通常必须先构建,然后进行单元测试。如上所述:Jenkins’s已经:它将很容易被建模为顶层的单个作业


还可以看到这个家族中更强大(更昂贵)的动物,如。

在运行iOS测试时,您可能需要一台Mac作为詹金斯的奴隶。如何设置这一点尚不清楚