1

我正在使用 Bazaar 进行版本控制,对此我很满意。在 Bazaar 中,源代码控制中的每个树/项目都称为“分支”。

目前,我有一个用于实际应用程序的“主”分支和一个“开发”分支,其中包含单元测试以及用户手册等内容。这样,应用程序及其相关测试都是版本化的,但是分别地。

但是,我怀疑我这样做的方式不是最好的方式。例如,如果我要从那个“主”分支创建发布分支,那么这些发布分支将与单元测试不同步,除非我以相同的方式分支它们。

目前,为了创建应用程序的快照,我只是从该主分支导出所有文件并将它们压缩,因为该分支的树中没有任何内容不属于将发送给客户端的应用程序的一部分。

有什么更好的方法来做我正在做的事情?单元测试是否应该进入与应用程序相同的“主”分支,如果是这样,有什么方便的方法可以轻松创建“快照”,即相当于“每日构建”,仅包含将分发的文件应用程序?

谢谢大家的答案。很难决定接受谁的回答。我采用的解决方案是将测试放在主树的“测试”子目录中;如果我不想分发测试,我可以稍后轻松地将其删除。

4

3 回答 3

6

你肯定希望你的单元测试和代码尽可能地接近。我们遵循的过程是这样的:

libs/Core/Login.php
libs/Core/Process.php
libs/Core/t/LoginTest.php
libs/Core/t/ProcessTest.php

基本上,为代码的每个部分创建一个单元测试模块,并将其与实际代码分开,将其保存在子目录中。然后进行一些检查,找到所有单元测试代码并在投入生产之前运行它。

于 2009-04-27T05:01:05.633 回答
1

我会将主要代码和测试放在一个分支中,然后在打包之前删除您认为多余的任何内容。

我认为让您的测试与主要开发工作不同步的风险将抵消编写脚本所需的努力,该脚本将在交付给客户之前清除您不希望包含的文件。仅仅因为 Bazaar 允许许多简单的分支并不意味着你想让你的测试离代码太远。

于 2009-04-27T05:03:44.707 回答
1

As mentioned by others, tests belong to a specific branch. If one of your code branches is slightly different, it's tests should also probably match that..

于 2009-04-28T05:51:00.340 回答