gpt4 book ai didi

java - 我怎样才能在 EasyMock 中进行 cast 操作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:31:16 25 4
gpt4 key购买 nike

如何模拟转换操作。我在一个依赖对象上有一个强制转换操作,它将强制转换为另一个依赖对象,例如

SqlMapClient sqlMapClient;
SqlMapClientImpl sqlMapClientImpl = (SqlMapClientImpl) sqlMapClient

我正在模拟依赖类(class),即 SqlMapClientSqlMapClientImpl。但我需要知道如何使用 EasyMock 模拟转换。

如有任何帮助,我们将不胜感激。

最佳答案

您不能模拟强制转换,因为强制转换不会导致对对象的方法调用。

相反,使用 EasyMock 类扩展来模拟 SqlMapClientImpl 类,并将对该模拟的引用传递给将 SqlMapClient 接收到 SqlMapClientImpl 的类

但是请注意,在您的代码中进行像这样的向下转型是一种代码味道。如果您的生产代码正在将接口(interface)向下转换为实现类,那么您将失去使用接口(interface)的所有灵 active 。它实际上可能比根本不使用接口(interface)更糟糕,因为它看起来像你的类依赖于接口(interface),因此可以与任何实现一起使用,但实际上你的类依赖于一个特定的实现。

关于java - 我怎样才能在 EasyMock 中进行 cast 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3661925/

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