首先,自动测试和巡航控制执行相同类型的 CI 任务吗?
我想设置一些可以运行我的单元测试的东西,以及我本地 MBP 计算机上的集成测试,即我还没有单独的计算机。
自动测试是否会在您每次更改文件时运行,而巡航控制是否会以更周期性的方式运行,例如每次签入或其他情况?
会给电脑带来很大压力吗?
首先,自动测试和巡航控制执行相同类型的 CI 任务吗?
我想设置一些可以运行我的单元测试的东西,以及我本地 MBP 计算机上的集成测试,即我还没有单独的计算机。
自动测试是否会在您每次更改文件时运行,而巡航控制是否会以更周期性的方式运行,例如每次签入或其他情况?
会给电脑带来很大压力吗?
自动测试和巡航控制可能是两种不同的工具。每次更改应用程序中的某些内容时,自动测试都会帮助您运行必要的测试。这在您的本地环境中运行良好,因此您可以自动获得反馈,而无需记住运行测试是否更改了源代码(或测试代码)。
Cruicecontrol 是(类似于 Hudson / Jenkins / Bamboo / TeamCity / ...)一个持续集成服务器,它在您定义它时运行定义的构建作业。以下是合理的替代方案:
它通常从 Subversion、Git 等源代码控制系统中获取所有内容(源代码、构建脚本、配置……)……通常用于较小或较大的团队,以帮助集成不同人员的工作。
因此,如果您只在您的机器上工作,并且主要进行单元测试,那么自动测试就足够了。否则,您应该考虑使用 CI 服务器(本地),这当然有更多的开销,需要更多的资源。
我不知道巡航控制的开销是多少,但在本地运行 Hudson 是一个更大的 Java 程序,需要 500 MB 到 1 GB 的内存。自动测试几乎没有开销,它只是自动执行您在其他地方手动执行的操作。
我认为您不想在每次更改时自动运行集成测试,也许集成在 CI 服务器中并手动启动的一组 Rake 任务可以完成这项工作。