java – 如何使用默认构造函数伪造InitialContext

前端之家收集整理的这篇文章主要介绍了java – 如何使用默认构造函数伪造InitialContext前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有,

我试图在一些古老的java代码(没有接口,没有抽象等)做一些单元测试

这是一个使用ServletContext(我假设由Tomcat设置)的Servlet,它在web.xml / context.xml文件中设置了数据库信息.现在,我已经弄清楚如何制作一个假的ServletContext,但代码

InitialContext _ic = new InitialContext();

在所有的地方(所以不可取代它).我需要找到一种默认的InitialContext()能够执行_ic.lookup(val)而不会抛出异常的方法.

我假设有一些方法,context.xml被加载,但是这个魔术如何工作,我画一个空白.任何人都有什么想法?

解决方法

您可以使用 PowerMock来模拟InitialContext的构造并控制其行为.构造器模拟记录为 here.

PowerMock测试可能相当凌乱复杂,重构通常是一个更好的选择.

猜你在找的Java相关文章