jUnit
进行测试,初始化我的bean :
ShowProducts sp = new ShowProducts();
在ShowProducts.javaNullPointerException
中进入以下行:
private Locale locale = FacesContext.getCurrentInstance().getViewRoot()
.getLocale();
...
public Locale getLocale() {
return locale;
}
public String getLanguage() {
return locale.getLanguage();
}
public void localize() {
String localeParam = FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get("lang");
locale = new Locale(localeParam);
FacesContext.getCurrentInstance().getViewRoot().setLocale(locale);
}
如何在测试中正确初始化该字段?
编辑:
面孔配置:
<application>
<locale-config>
<default-locale>ru</default-locale>
<supported-locale>ua</supported-locale>
</locale-config>
<resource-bundle>
<base-name>msg</base-name>
<var>m</var>
</resource-bundle>
</application>
.xhtml:
<h:form>
<h:commandLink action="#{showProducts.localize}" includeViewParams="true"
rendered="#{showProducts.language=='ua'}">
#{m.rus}.
<f:param name="lang" value="ru"/>
</h:commandLink>
<h:commandLink action="#{showProducts.localize}" includeViewParams="true"
rendered="#{showProducts.language=='ru'}">
#{m.ukr}.
<f:param name="lang" value="ua"/>
</h:commandLink>
</h:form>