2016-04-08 72 views
0

多くのテストシナリオではインターセプタをテストするのではなく、他のコードをテストしたいので、必要に応じていくつかのインターセプタをテストします(arquillian)。だから私は、テストでテストされるべきものに焦点を当てるためにオーバーライド/ディスエーブルされたインターセプタを使ってテストを実行したいと思います。Java EEインターセプタを無効/無効にする方法は?

私は既存のインターセプタに触れない方がいいでしょうが、他の方法がない場合は可能性があります。

+0

あなたの 'beans.xml'を表示してください。 –

+0

@CássioMazzochiMolin注釈付きBeanディスカバリーモードを使用しているため、beans.xmlはこのケースでは再生されません。 – Roland

+0

'bean-discovery-mode'なしでテストするために' beans.xml'を1つ持つことができます。 –

答えて

0

私がこれまで行ってきた方法は、テストと実際のアプリケーションのために別々のbeans.xmlファイルを用意することです。次に、それに応じてクラスパスを変更します。

ただし、annotated bean-discovery-modeを使用しているため、beans.xmlにインターセプタを指定していない場合、この解決策は機能しません。

+0

beans.xmlを作成してインターセプタを(?)置き換える方法は?私はbeans.xmlをArquillian-warに入れようとしましたが、TransactionScopeとEntityManagerの注入が失われてしまったので、私は悪いところで終わりましたが、間違っていたと思います... – Roland

+0

それは問題です。インターセプタがもともとbeans.xmlを介して登録されている場合は、bean.xmlを切り替えて無効にすることができます。しかし、私が理解しているように、あなたのインターセプタは、アノテーションまたはあなたがアクセスできないいくつかのbean.xmlを通して登録されています。この場合、どのように無効にするのか、それがすべて可能なのかどうかはわかりません。 – bezmax

関連する問題