2016-09-02 4 views
1

WicketTesterとSpock/Mockitoの助けを借りて、Wicketパネルのユニットテストを試みています。Wicketコンポーネントの模擬方法

このパネルでは、良いケースのシナリオではModalWindow(確認ダイアログ)が表示されます。

このダイアログが表示されるので、私はコンポーネントを模擬してパネルに注入し、showメソッドが呼び出されたかどうかをテストしようとしました。 これは、自動改札は、次のエラーがスローされますよう、動作しません:それはそれはスーパークラスだ上onDetachメソッドを呼び出すことはできませんモックを思わぬいない

java.lang.IllegalStateException: org.apache.wicket.Component has not been properly detached. 
Something in the hierarchy of X has not called super.onDetach() in the override of onDetach() method 

私はModalWindowをスタブし、スパイを使用してshowメソッドが呼び出されたかどうかを確認しましたが、そのメソッドの実装にはモックするのが難しい依存関係/外部呼び出しがあります。

どのようにこの問題にアプローチする必要がありますか?あるいは、私はこの種のテスト作業をしようとするべきではありませんか?

答えて

0

#show()メソッドをオーバーライドしてsuper.show()を呼び出し、メソッドが呼び出されたというフラグを発生させるためのカスタムバージョンのModalWindowを作成したいと思います。 次に、このカスタムバージョンをパネルのテストで使用します。

関連する問題