我应该在我的Delphi 7项目中包含DUnit单元吗?

时间:2014-03-27 12:59:16

标签: delphi delphi-7 software-distribution dunit

我有一个为Delphi 7编写的遗留项目。我正准备将一堆新代码集成到其中,其中包括使用DUnit的测试套件。但是它不是Delphi 7的一部分(后来已经集成了),所以问题是:我应该将DUnit单元包含到我的项目中(将它们检入版本控制等)还是应该更好地要求所有参与的开发人员保持他们单独的DUnit安装?

该项目是封闭源代码,仅在我工作的企业内编写和部署 - 也就是说,项目源代码无法交付给任何消费者。

1 个答案:

答案 0 :(得分:4)

你提出问题的方式,可能会对你提出的问题感到困惑。所以,让我们首先解决这个问题。

这听起来像是在询问是否在您的生产应用程序中包含DUnit单位。这将是一个非常糟糕的主意,我将在这个答案中避免细节原因。

但是,我理解你的问题是你是否应该将这个“第三方”来源视为你自己的项目源代码(在源代码控制方面)。我已经回答了这个问题。


有许多原则可以证明在您的SC存储库中包含DUnit源。

  • 每当你有一个新的开发人员或新的开发机器安装时,你想要快速,轻松地启动和运行,并且最小化。
    • 只有在源存储库中管理所有依赖项时才能实现理想。做得比以前更难:(1)获取最新资源。 (2)构建。
    • 即使您将磁盘映像与所有必需的应用程序(包括第三方库)一起使用,也不会有100%的最新来源。
  • 所有开发人员使用相同版本的DUnit非常重要。
    • 否则,您可能会遇到在一台计算机上运行的测试用例,但可能甚至无法在另一台计算机上进行编译。
  • 在你大量使用DUnit之后,我相信你会发现你想要改变的各种事物(无论大小)。您最好在存储库中保留这些更改。
    • 我对DUnit的个人经验是,它的部分设计很差。因此,通过直接修改单元可以更轻松地完成一些扩展。

我甚至更进一步:即使最新版本的Delphi包含DUnit,我仍然会复制到Source Control中。尽管DUnit随Delphi一起提供 - 它实际上只是第三方来源打包到文件夹中。