mockitoを使用してfacescontextをモックアウトするにはどうすればよいですか?mockitoを使ってfacescontextを模倣する方法は?
私はこのダミーのメソッドを作っています
public String toPage2(){
if(isChecked()){
return NAV_STRING;
} else {
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Sæt i kryds checkboxen", null));
return "";
}
}
私は私のJUnitテストを実行すると、私はgetCurrentInstance(呼び出すときに、私は)nullポインタ例外を取得します。
facesmessageが追加されている場合はどうすればfacescontextを模擬してテストを書くことができますか?
ありがとうございました。
クラスはバッキングBeanなので、コンストラクタはパラメータを取ることができません。または...? facescontextのインスタンスをセットアップするために、私のテストクラスのsetupメソッドに何かを追加することはできませんか? – Chris
文脈を提供するものについては、私はそれをラップします。あなたが強制するクラスの上で必要な種類のコントロールを持っていない場合は、それをラップしてください。あるラッパーと別のラッパーの相互作用をユニットテストすることになります。それで大丈夫です;あなたのクラスは正しい方法で自分のクラス(あなたのコントロールの外)を使用し、それに応答することをテストします。あなたのコントロールの外のクラスはあまり頻繁に変更されていないので、残りは検査と手動テストによって発生することができます(もしそうであれば、何かがうまくいかなかった場合にdevsを助けることができるように!) – Lunivore