我的團隊和我在Spring中做了一個Web應用程序作爲項目,我們必須測試我們的大部分代碼。問題是我們在相當多的方法中使用了FaceContext
消息,並且總是當我們嘗試測試這些方法時,我們在FaceContext-Messages處獲得NullPointerException
。 我怎樣才能避免或抓住他們?如何在Junit測試中避免來自FaceContext的NullPointerException?
我們目前的解決方案是使用@Test(expect = NullPointerException.class)
,但那不是我們想要的方式。這可能在Junit中嗎?或者我需要Selenium嗎?
一個例子是:
public boolean validateInfo(){
boolean correct = true;
if(startDate == null || endDate == null) {
if(startDate == null)
FacesContext.getCurrentInstance().addMessage("msg", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Gib ein Startdatum an!", ""));
if(endDate == null) FacesContext.getCurrentInstance().addMessage("msg", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Gib ein Enddatum an!", ""));
return false;
}
if(startDate.after(endDate)) {
FacesContext.getCurrentInstance().addMessage("msg", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Startdatum muss vor dem Enddatum sein!", ""));
correct = false;
}
if(maxChildren < 1) {
FacesContext.getCurrentInstance().addMessage("msg", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Max. Kinderanzahl muss größer 0 sein!", ""));
correct = false;
}
if(bringTime.after(pickupTime)) {
FacesContext.getCurrentInstance().addMessage("msg", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Bringzeit muss vor dem Abholzeit sein!", ""));
correct = false;
}
return correct;
}
它進入第一個FaceContext消息和拋出一個NullPointerException
。有人可以幫忙嗎? StackOverflow上的其他解決方案沒有幫助。
你怎麼啓動程序?你是否託管在某些本地服務器上? –