Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行JUnit测试时在JSF中找不到组件id_Java_Jsf_Junit - Fatal编程技术网

Java 执行JUnit测试时在JSF中找不到组件id

Java 执行JUnit测试时在JSF中找不到组件id,java,jsf,junit,Java,Jsf,Junit,我正在为JSFbean创建Junit测试用例,下面是代码 public void createKey(final ActionEvent event) { LOGGER.info("CreateKeyBean createKey method called..."); final long moduleIdLong = Long.parseLong(moduleid); try { labeldbservice.createKey(moduleIdLong, key); lab

我正在为JSFbean创建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框架生成。
如果您使用core JUnit来测试处理组件ID的方法,那么谁来生成ID。
这就是为什么测试JSF应用程序是最难的部分。
像这样的场景需要的框架不仅仅是JUnit那样的框架