加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何处理纠结的使用依赖项以启动单元测试?

发布时间:2020-12-15 09:51:10 所属栏目:大数据 来源:网络整理
导读:我有一个凌乱的Delphi 7遗留系统来维护和开发.我已经在阅读“有效地使用遗留代码”,我非常喜欢这本书. 为了开始遵循本书中的建议,我创建了一个测试项目,并尝试编写一个测试.为此,我需要在测试项目中添加一些单元,但这里存在问题:被测系统具有可怕的使用依赖
我有一个凌乱的Delphi 7遗留系统来维护和开发.我已经在阅读“有效地使用遗留代码”,我非常喜欢这本书.

为了开始遵循本书中的建议,我创建了一个测试项目,并尝试编写一个测试.为此,我需要在测试项目中添加一些单元,但这里存在问题:被测系统具有可怕的使用依赖性.一个单位使用其他单位,使用其他单位等等,等等.似乎大多数单位直接或间接使用一个特定单位,而这个单位在其使用条款中依次有170个依赖项.还存在间接循环依赖.

目前我正在尝试将所有遗留系统的单元添加到测试项目中,但我遇到了各种问题,例如“单元xxx是使用不同版本的xxx编译的”等等.

所以我想知道我做错了什么.我之前使用过单元测试,但在我自己的项目中,它更小,具有更好的结构和模块化.在这种情况下我有哪些选择?我错过了什么吗?

解决方法

您的代码中始终存在依赖项.好吧,只要你重复使用代码,你就会有依赖关系.由于您正在测试遗留系统,批量重组是不可能的.

所以你只需要接受依赖项.最方便实用的方法是拥有一个单元测试项目.该项目包含所有单元测试.使用跑步者计划的设施,任何时候都只能运行特定的测试.

这导致您的项目在其.dpr文件中具有与主项目相同的单元列表.这就是你目前所尝试的,这是正确的方法.

您的问题听起来像是在主项目和单元测试项目之间共享DCU目录(单元输出目录).并且您有两个项目的不同编译器选项.这是您报告错误的最可能的解释.

有几个明显的解决方案:

>对齐两个项目的编译器选项.然后他们可以共享DCU.
>为这两个项目提供单独的DCU目录.

选项2更加强大,是最佳实践.但是,您应该尝试理解编译器选项的不同之处.很可能需要更改新单元测试项目中的编译器选项,以便测试中的单元根据需要进行编译和运行.在现代Delphi中,我会使用选项集来确保编译器选项的一致性.

现在,您可能遇到其他技术问题,我对错误的解释可能不太正确,因为我不得不猜测一下.但最重要的是,在.dpr文件中拥有相同的单元列表是可行的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读