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

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

概述我有一个凌乱的Delphi 7遗留系统来维护和开发.我已经在阅读“有效地使用遗留代码”,我非常喜欢这本书. 为了开始遵循本书中的建议,我创建了一个测试项目,并尝试编写一个测试.为此,我需要在测试项目中添加一些单元,但这里存在问题:被测系统具有可怕的使用依赖性.一个单位使用其他单位,使用其他单位等等,等等.似乎大多数单位直接或间接使用一个特定单位,而这个单位在其使用条款中依次有170个依赖项.还存在 我有一个凌乱的Delphi 7遗留系统来维护和开发.我已经在阅读“有效地使用遗留代码”,我非常喜欢这本书.

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

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

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

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

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

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

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

有几个明显的解决方案:

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

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

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

总结

以上是内存溢出为你收集整理的delphi – 如何处理纠结的使用依赖项以启动单元测试?全部内容,希望文章能够帮你解决delphi – 如何处理纠结的使用依赖项以启动单元测试?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1273450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存