gpt4 book ai didi

java - Mockito 模拟运行时创建的任何 I18n 实例

转载 作者:行者123 更新时间:2023-12-01 23:53:43 25 4
gpt4 key购买 nike

我有一个场景,就像我在代码中动态创建 i18n 对象实例一样。我正在使用以下代码:

public String getLocaleString(Locale locale, SlingHttpServletRequest request){
final ResourceBundle bundle = request.getResourceBundle(locale);
I18n i18n = new I18n(bundle);
return i18n.get("local");
}

这里的语言环境,我已经 mock 了请求。但 i18n 是动态创建的。所以我无法模拟 i18n.get("local")

我尝试使用:

when(any(I18n.class).get("local")).thenReturn("localizedString")

但是我做不到。我在这一行中收到 NullPointerException 。

我想使用 Mockito 来模拟这个场景。你们能帮我吗?谢谢。

最佳答案

Mockito 建议重构来解决这个问题 https://code.google.com/p/mockito/wiki/MockingObjectCreation?ts=1332544670&updated=MockingObjectCreation

我通常会避免测试该方法的内部结构。

但在某些情况下,当我确实需要时,我会使用 PowerMockito https://code.google.com/p/powermock/wiki/MockConstructor

关于java - Mockito 模拟运行时创建的任何 I18n 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15943644/

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