0

私は Seam 2.2 と TestNG を使用しています。Sardine を使用して WebDav からいくつかのリソースを削除するいくつかのメソッドをテストしたいと考えています。問題は、リソースが期待どおりに見つからない場合、Sardine がエラーをスローすることです。そのため、実際の削除をモックする MockSardineTestClass を作成しました。

問題は、実際のリソースの削除を行う Seam コンポーネント WebDavClient が私のクラスに注入されていることです。私の MockSardineTestClass は WebDavClient クラスを拡張し、テストの実行時に MockSardineTestClass を挿入したいと考えています。どうすればそれを達成できますか?seam で条件付き注入を行う方法はありますか? 別のアイデアはありますか?

また、一般的な質問として、2 つの実装を持つ抽象クラス/インターフェースがあり、seam を使用してそのインターフェースを注入する場合、どの実装を注入する必要があるかを seam はどのように評価しますか?

4

1 に答える 1

0

コンポーネントに。で注釈を付けます@Install(MOCK)。5.5を確認してください。詳細については、条件付きインストール。

あなたの質問に対する答えは、コンポーネントの名前です。Seamは、クラス名ではなくコンポーネント名でコンポーネントを解決します。

于 2012-11-10T06:43:20.780 に答える