delphi – 替换功能单元
发布时间:2020-12-15 09:49:38 所属栏目:大数据 来源:网络整理
导读:我正在为大型Delphi代码库编写单元测试基础结构.我想将SysUtils.FileExists中对纯函数的调用链接到例如“MockSysUtils.FileExists”. 编译器不支持创建具有相同接口的SysUtils单元. 我在想的是在运行时挂钩我的mock函数.现在这可能吗? 还有其他建议吗? 问
我正在为大型Delphi代码库编写单元测试基础结构.我想将SysUtils.FileExists中对纯函数的调用链接到例如“MockSysUtils.FileExists”.
编译器不支持创建具有相同接口的SysUtils单元. 我在想的是在运行时挂钩我的mock函数.现在这可能吗? 还有其他建议吗? 问候, 彼得 解决方法
在运行时替换函数很困难,但通常在技术上是可行的.你需要做的“全部”是:
>获取有问题的函数的地址 更简单的方法是链接不同版本的SysUtils.pas.这将要求您还重新编译依赖于SysUtils.pas的RTL和VCL中的所有单元,但它可能比上述函数入门方法更容易. 最简单的方法是语言级方法,其中要么根本不直接依赖SysUtils(因此可以在更高级别切换),要么修改使用声明以有条件地引用不同的单元. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |