我正在为jsf bean创建Junit测试用例,请在下面找到代码。
public void createKey(final ActionEvent event)
{
LOGGER.info("CreateKeyBean createKey method called...");
final long moduleIdLong = Long.parseLong(moduleid);
try {
labeldbservice.createKey(moduleIdLong, key);
labeldbservice.saveTranslation(null, moduleIdLong, Locale.ENGLISH.toString(), key, text);
FacesMessageUtil.addStatusMessage(LabeldbUtils.CREATE_TOP_PANEL, LabeldbUtils.CREATE_KEY_LABEL, null);
} catch (Exception e) {
LOGGER.error(e);
FacesMessageUtil.addGlobalUnexpectedErrorMessage();
FacesMessageUtil.addStatusMessage(LabeldbUtils.CREATE_TOP_PANEL, LabeldbUtils.ERROR_LABEL_MSG, null);
}
}
我在调用服务后正在测试上述方法,我正在使用组件id(FacesMessageUtil.addStatusMessage('''))将状态消息发送到UI。
我的问题是:调用此方法:FacesMessageUtil.addStatusMessage('''))时出现异常,提示未找到组件ID,
您能帮我如何从JUnit设置组件ID吗?
提前致谢。
最佳答案
组件ID由JSF Framework生成。
如果您使用核心JUnit来测试处理组件ID的方法,那么谁将生成ID。
这就是为什么测试JSF应用程序是最难的部分。
这样的场景需要的框架不仅仅是像JSFUnit这样的JUnit。
关于java - 执行JUnit测试时在JSF中找不到组件ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17989988/