gpt4 book ai didi

java - 为什么 Google Guice 无法初始化 i18n 对象并给我 null

转载 作者:行者123 更新时间:2023-12-01 18:39:38 24 4
gpt4 key购买 nike

我正在为我的方法编写 J-unit 测试用例。

A.java

 void resetToolbar(final ListSelectionModel lastSelectionModel) {
// attempt to restore the previous page
if (toolbar != null && lastSelectionModel != null) {
gridPanel.setSelectionModel(lastSelectionModel);
}
// Issue occur here..... In PagingToolbar.
toolbar = new PagingToolbar();
}

PagingToolbar.java

class PagingToolbar {
@Inject
private transient I18nUtils i18n;

/**
* Creates a new paging toolbar.
*/
public PagingToolbar() {
super();
setDisplayingItemsText(i18n.getText(this, "facebook"));
// here i18n get null and throws null pointer-exception.

}

ATest.java

class editorModule extends AbstractModule {
@Override
protected void configure() {
bind(I18nUtils.class)
.to((Class < ? extends I18nUtils >) A.class);

}
}
@Test(groups = { "unit" })
public class ATest extends AbstractModule {

@Test
public void resetToolbar(){

I18nUtils i18n = createNiceMock(I18nUtils.class);
Injector injector = Guice.createInjector(new editorModule());
A editor = injector.getInstance(A.class);

// Invoke
A tt = new A();
tt.resetToolbar(listselectmodelMock);
}
}

注意:在resetToolbar() 的A 类中,我必须使用new 关键字调用pagingToolbar。

最佳答案

因为您正在使用 new PagingToolbar(); 自己创建 PagingToolbar

关于java - 为什么 Google Guice 无法初始化 i18n 对象并给我 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59964420/

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