1

首先,自动测试和巡航控制执行相同类型的 CI 任务吗?

我想设置一些可以运行我的单元测试的东西,以及我本地 MBP 计算机上的集成测试,即我还没有单独的计算机。

自动测试是否会在您每次更改文件时运行,而巡航控制是否会以更周期性的方式运行,例如每次签入或其他情况?

会给电脑带来很大压力吗?

4

1 回答 1

2

自动测试和巡航控制可能是两种不同的工具。每次更改应用程序中的某些内容时,自动测试都会帮助您运行必要的测试。这在您的本地环境中运行良好,因此您可以自动获得反馈,而无需记住运行测试是否更改了源代码(或测试代码)。

Cruicecontrol 是(类似于 Hudson / Jenkins / Bamboo / TeamCity / ...)一个持续集成服务器,它在您定义它时运行定义的构建作业。以下是合理的替代方案:

  • 在每次签入/提交时运行 == 因此是连续的
  • 运行每小时构建,以获得定期反馈。
  • 运行一个(大)夜间构建,它会进行大量检查、质量保证、......

它通常从 Subversion、Git 等源代码控制系统中获取所有内容(源代码、构建脚本、配置……)……通常用于较小或较大的团队,以帮助集成不同人员的工作。

因此,如果您只在您的机器上工作,并且主要进行单元测试,那么自动测试就足够了。否则,您应该考虑使用 CI 服务器(本地),这当然有更多的开销,需要更多的资源。

我不知道巡航控制的开销是多少,但在本地运行 Hudson 是一个更大的 Java 程序,需要 500 MB 到 1 GB 的内存。自动测试几乎没有开销,它只是自动执行您在其他地方手动执行的操作。

我认为您不想在每次更改时自动运行集成测试,也许集成在 CI 服务器中并手动启动的一组 Rake 任务可以完成这项工作。

于 2011-10-01T18:02:44.407 回答