java - 进行 JUnit 测试时在 JSF 中找不到组件 ID

标签 java jsf junit

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

相关文章:

java - Forked Java VM 异常退出。 JUnit 测试?

spring-boot - Junit测试因Elasticsearch而失败

java - AssertEquals 2 列表忽略顺序

java - 包含扩展类的抽象类列表

java - Java EE6 到底是什么?我可以选择不包含某些功能吗?

java - 如何创建一个与我的桌面看起来一样的 Java Web 应用程序?

java - 异常发送请求初始化生命周期事件到类 org.springframework.web.context.request.RequestContextListener 的监听器实例

java - 字符串中的特殊字符[JAVA]

java Streams - 如何将一个集合过滤为两个新集合

java - 3D 坐标旋转缺乏透视 2D 精度