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

奥斯丁:

所有,

我正在尝试在一些古老的Java代码中进行一些单元测试(无接口,无抽象等)。

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

 InitialContext _ic = new InitialContext();

遍布整个地方(因此替换它是不可行的)。我需要找到一种方法来使默认的InitialContext()能够做到而_ic.lookup(val)不会引发异常。

我假设有某种方式可以加载context.xml,但是该魔术如何工作,我正在绘制空白。有人有主意吗?

Samlewis:

您可以使用PowerMock模拟InitialContext的构造并控制其行为。此处记录构造器模拟

PowerMock测试可能非常混乱且复杂,重构通常是更好的选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用龙目岛有默认的构造函数

如何使用JMockit模拟Date类的默认构造函数?

如何从默认构造函数调用参数化的构造函数?

如何使用ByteBuddy创建默认构造函数?

使用JPA的Kotlin:默认构造函数地狱

使用默认构造函数嵌入向量

使用默认参数而不是默认构造函数调用构造函数

禁止从类外部使用默认构造函数

如何将TreeNode添加到使用默认构造函数构造的JTree中?

在构造函数继承中使用默认构造函数

如何使用户定义的空默认构造函数的行为类似于编译器定义的空构造函数

在非默认构造函数中使用默认构造函数

如何更改默认构造函数?

对Razor Pages使用非默认构造函数

如何在使用合成时使用默认构造函数

如何更改默认构造函数的参数?

如何使用带有删除的默认构造函数的move构造函数

如何添加默认构造函数并使它调用另一个构造函数并使用默认值?

在构造函数中使用默认参数

如何伪造arg构造函数JustMock

在默认构造函数中使用sf :: Shape

如何实现将类别设置为其他的默认构造函数(使用构造函数链接)

当父类在 C++ 中没有默认构造函数时,如何在继承的类中使用构造函数?

如何使用 LambdaMetafactory 调用默认构造函数

在默认构造函数中使用 NULL

当对象的默认构造函数不为空时,无法创建伪造

如何导出默认的 2 个构造函数?

如何使用函数成员和默认公共构造函数创建 F# 结构?

如何使用命名参数并防止使用默认构造函数?