我已经遇到了工作中的情况,有人建议将我们的单元测试添加到Cruise Control连续构建过程中。该单元测试将被添加为CC另一个项目,这样我们将有一个“中等身材”项目和“构建和测试”项目。我们目前使用“Normal Build”过程来a)确保没有开发人员破坏构建,并且b)确保在发布即将推送到QA/Production时构建不会中断。你如何定制你的开发过程,为构建添加单元测试?
通过向流程添加单元测试,我们可以:a)当单元测试已被破坏时通知我们将检查以确保它不是我们编写的单元测试; b)确保没有单元失败构建会发布到QA/Production。 所以我明白好处,但我仍然担心这会如何影响我们的开发过程。这里的情景就是我看到发生......
当前进程...
- 构建服务器建立巡航控制 “中等身材”项目
- 指示灯亮起红色(巡航控制) 当构建失败
- 归咎于开发商得到了巨魔
新工艺..。
- 另一个CC项目的“构建和测试”(现在的两个项目)添加
- 灯是绿色的“普通身材”项目
- 指示灯亮起红色的“构建和测试”项目
- 被谴责的开发者得到...
方案一:被指责的开发人员没什么。我们正在做TDD,如果单元测试失败,那也没关系。 “构建和测试”项目是红色的,我们不打算将构建推送到QA。
场景二:被指责的开发者获得TROLL,“构建和测试”项目不应该是红色的。
无论如何,我很想知道这个过程的想法是什么?请保持简短。您的团队是否包含构建中的单元测试?如果是这样,你是否遵循TDD?你是否总是努力保持你的测试版本通过测试?
谢谢!
完全依靠“构建[only]”有什么意义?如果测试失败,你的构建是毫无价值的。假装没有任何东西是绿色的。 – Draemon 2010-09-23 22:06:02
那么,在我们将构建推送到QA之前,我们在这个过程之前所做的就是始终运行测试。但正如你所知道的那样,显然不适合我们。 – 2010-09-23 23:08:19