gpt4 book ai didi

testing - 在没有控制反转的情况下隔离依赖关系

转载 作者:行者123 更新时间:2023-11-28 19:58:41 25 4
gpt4 key购买 nike

我正在开发一个严重依赖消息队列、com+、数据库、httpcontext、静态实用程序类等的企业应用程序。

由于我们的系统中有 600 个项目,因此重写以使用控制反转似乎不切实际。 Typemock 声称它们是唯一的隔离框架 doesn't require you to rewrite your code to use IOC .

有谁知道 TypeMock 如何实现这一级别的功能以及是否有任何替代方案?即使我要重写我的应用程序以使用控制反转,我也必须为消息队列、httpcontext 等编写包装类。对我来说这听起来很荒谬,我认为 Typemock 是我唯一可行的选择是对还是错场景。

谢谢

最佳答案

您认为 TypeMock(或其他类似的模拟工具)是唯一可行的选择是正确的。

总是可以直接使用 AOP 工具来隔离依赖项,但这样做需要付出很大的努力,使其在实践中不可行。

对于 Java,JMockit工具包可以隔离所有类型的依赖项,而无需对生产代码进行任何必要的更改。

在内部,JMockit 使用 java.lang.instrument API 提供的功能。基本上,它允许在运行时重新定义 方法/构造函数。重新定义意味着实现方法/构造函数的字节码被替换。对于同一方法,可以多次执行此操作。此外,类可以在加载时转换(即,类中定义的任何方法或构造函数都可以在类对 JVM 可用之前更改其字节码)。

关于testing - 在没有控制反转的情况下隔离依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com