1

我正在为 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。

提前致谢。

4

1 回答 1

0

组件 ID 由 JSF 框架生成。
如果您使用核心 JUnit 来测试处理组件 ID 的方法,那么是谁在生成 ID。
这就是为什么测试 JSF 应用程序是最难的部分。
像这样的场景需要的框架不仅仅是像JSFUnit这样的 JUnit 。

于 2013-08-01T10:54:16.687 回答