如何模拟转换操作。 我在一个依赖对象上有一个强制转换操作,它将强制转换为另一个依赖对象,例如
SqlMapClient sqlMapClient;
SqlMapClientImpl sqlMapClientImpl = (SqlMapClientImpl) sqlMapClient
我正在模拟依赖类(class),即 SqlMapClient
和 SqlMapClientImpl
。但我需要知道如何使用 EasyMock 模拟转换。
如有任何帮助,我们将不胜感激。
最佳答案
您不能模拟强制转换,因为强制转换不会导致对对象的方法调用。
相反,使用 EasyMock 类扩展来模拟 SqlMapClientImpl
类,并将对该模拟的引用传递给将 SqlMapClient
接收到 SqlMapClientImpl 的类
但是请注意,在您的代码中进行像这样的向下转型是一种代码味道。如果您的生产代码正在将接口(interface)向下转换为实现类,那么您将失去使用接口(interface)的所有灵 active 。它实际上可能比根本不使用接口(interface)更糟糕,因为它看起来像你的类依赖于接口(interface),因此可以与任何实现一起使用,但实际上你的类依赖于一个特定的实现。
关于java - 我怎样才能在 EasyMock 中进行 cast 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3661925/