2013-08-01 22 views
1

我正在爲jsf bean創建Junit測試用例,請在下面找到代碼。在進行JUnit測試時未在JSF中找到組件標識

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來UI(FacesMessageUtil.addStatusMessage(「」'))之後測試上述方法。我的問題是:在調用這個方法時:FacesMessageUtil.addStatusMessage('''))我得到異常說組件ID沒有找到, 你能幫我如何從JUnit設置組件ID。

在此先感謝。

回答

0

組件ID由JSF框架生成。
如果您正在使用核心JUnit來測試處理組件ID的方法,那麼它將生成這些ID。
這就是爲什麼測試JSF應用程序是最困難的部分。
像這樣的情景需要的框架不僅僅是像JSFUnit這樣的JUnit。

相關問題