我正在使用Bazaar进行版本控制,我很满意。在Bazaar中,源控制中的每个树/项目都称为“分支”。
目前我有一个实际应用程序的'main'分支,以及一个'dev'分支,其中包含一些内容,如单元测试,以及用户手册等。这样,应用程序及其相关的测试都是版本化,但是分开。
然而,我怀疑我这样做的方式并不是最好的方法。例如,如果我要从'main'分支创建发布分支,那么这些发布分支将与单元测试不同步,除非我以相同的方式对它们进行分支。
目前,为了创建应用程序的快照,我只是从该主分支导出所有文件并将其压缩,因为该分支的树中没有任何内容不属于将被发送到的应用程序的一部分客户端。
做我正在做的事情的更好方法是什么?单元测试是否应该进入与应用程序相同的“主”分支,如果是,那么什么是轻松创建“快照”的便捷方式,即相当于“每日构建”,其中仅包含将随之分发的文件应用程序?
谢谢大家的回答。很难决定接受谁的答案。我已经解决的解决方案是在主树的'tests'子目录中进行测试;如果我不想分发测试,我可以在以后轻松删除它。
答案 0 :(得分:6)
您肯定希望尽可能地保持您的单元测试和代码。我们遵循的流程如下:
libs/Core/Login.php
libs/Core/Process.php
libs/Core/t/LoginTest.php
libs/Core/t/ProcessTest.php
基本上,为代码的每个部分创建一个单元测试模块,并通过将其保存在子目录中将其与实际代码分开。然后有一些东西经过,找到所有单元测试代码并在推送到生产之前运行它。
答案 1 :(得分:1)
我将主代码和测试放入一个分支中,然后在打包之前删除任何您认为是额外的内容。
我认为让您的测试与主要开发工作不同步的风险将抵消编写脚本所需的工作量,该脚本将清除您不希望包含的文件,然后再发送给客户端。仅仅因为Bazaar允许很多简单的分支并不意味着你想让你的测试离代码太远。
答案 2 :(得分:1)
如其他人所述,测试属于特定分支。如果你的一个代码分支略有不同,它的测试也应该与那个匹配..