2011-12-16 7 views
1

JSFを初めて使用しているので、FacesContext.getCurrentInstance()。getPartialViewContext()を自分のコードから呼び出すときにNullPointerExceptionが発生します。 私はjsfでビルドされたモジュールのテストに取り組んでいます。そのため、myfacesを使ってFacesContextのモックオブジェクトをビルドします。 私のコードは次のようになります:モックオブジェクトの作成中にFacesContext.getCurrentInstance()。getPartialViewContext()からnullを取得します

facesContext = new MockFacesContext20(); System.out.println(FacesContext.getCurrentInstance()。getPartialViewContext());

いくつかの例で私を助けてください...! カスタムPartialViewContextで模擬FacesContextオブジェクトを初期化する方法はありますか?

答えて

0

FacesContextはシングルトンなので、ほとんどのモッキングフレームワークには適していません。しかし、それは数年前に退職しなかった

この問題を解決することを目的としたApacheのシェールプロジェクト、:

http://shale.apache.org/

それはもはやサポートされているにもかかわらず、私は私のプロジェクトでの相対的な成功にそれを使用しています、しかし私の一般的な推奨は、ビジネスロジックをManagedBeanから守ることです。私は、マネージドBeanはラッパーのように振る舞い、FacesContextからパラメータと情報を取得し、それをビジネスロジックメソッド呼び出しの引数として渡しながら、ビジネスロジックレイヤー内で単体テストされたビジネスロジックを保つのが好きです。

退職したプロジェクトのソフトウェアを使用することを心配することなく、TDDに役立ちます。

+0

私はアプリケーションをテストできるようにPartialViewContextを取得したいだけです。私はすでにmyfacesテストフレームワークを実装しています。私がNPEを手に入れようとしていないシェールと一緒にいるのだろうか? –

+0

私はPartialViewContextについてはわかりませんが、シェールとFacesContextで試したことのあるものはすべて正常に動作しました。それは試してみる価値がある。 –

+0

シェールを試しましたが問題は解決しません。 –

関連する問題