有没有办法在git分支上运行测试同时处理另一个?

时间:2011-06-17 14:33:57

标签: git tdd

我有一个大型测试套件,需要在我将更改推回到CI使用的repo之前运行。理想情况下,我想使用以下工作流程:

  • 创建分支以开发功能或更正错误;
  • 使用TDD开发此分支中的功能,但只运行最明显相关的测试;
  • 完成开发后,运行整个测试套件;
  • 当我运行整个测试套件(20分钟)时,我想在另一个分支中开始另一个功能。

如果我执行git checkout,我的整个工作副本将更改为该分支,因此我无法运行我的测试。也许我应该使用2个工作副本,但我更喜欢更优雅的解决方案。

编辑:拼写错误

1 个答案:

答案 0 :(得分:5)

你必须为此制作第二份工作副本;请考虑您要实现的下一个功能可能不是新分支,而是使用基于不同分支的现有分支或分支(任何意味着您将检查在测试运行期间还原最后一个功能实现的代码)。 / p>

你可以创建一个脚本来处理所有这些 - 也许你完成当前功能的开发,然后运行“buildandtesteverything {featurebranchname}”脚本。脚本将移动到包含git存储库根目录的目录,将存储库克隆到临时文件夹(检出命名分支),然后执行测试并自行清理。