我正在为 jsf beans 创建 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 框架生成。
如果您使用核心 JUnit 来测试处理组件 ID 的方法,那么谁正在生成 ID。
这就是为什么测试 JSF 应用程序是最难的部分。
像这样的场景需要的框架不仅仅是像JSFUnit这样的JUnit。 。
关于java - 进行 JUnit 测试时在 JSF 中找不到组件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17989988/