2012-01-10 14 views
1

これが可能かどうかはわかりませんが、EJBを注入したSpring POJOに対してSpring Junitテストを試してみようとしています。テストを実行すると、テストPOJOで注入されたEJBに対して常にnullポイントの受信を取得します。問題は、POJOのメソッドはメソッドのパラメータとしてEJBインタフェースを期待しないため、POJOがSpringコンテキストを介してロードされているときに利用可能である必要があるということです。私は、Weblogic 10.3コンテナでSpring 2.5とEJB 3.0を使用しています。私はスプリングコンテキストファイルに<context:annotation-config/>を追加しました。注入されたEJBを使用したSpring POJOのユニットテスト

たとえば、以下のコードと同様にPOJOに注入されているEJBがあり、MySpringPojoメソッドに対して単体テストを行いたいとします。どのようにテストしようとしても、私のEJBがPOJOに注入されてテストが実行されないことがわかりました。誰もこの種のシナリオをどのように試すことができるかをお勧めしますか?コードスニペットを持つすべてのヘルプは素晴らしいだろう...

public class MySpringPojo { 
    @EJB 
    private GreetingManager greeting; 

    public String greetUser(String name) { 
     return greeting.generateGreeting(name); 
    } 
} 

@Remote 
public interface GreetingManager { 
    public String generateGreeting(String name); 
} 

@Stateless 
public class GreetingManagerBean implements GreetingManager { 
    public String generateGreeting(String name) { 
     return "Hello" + name; 
    } 
} 

-Sonu

答えて

0

まだ答えが必要なのかどうかわかりませんが、SpringにEJBを注入してWeblogicコンテナでPOJOをテストする記事を書いています。あなたはそれについてhereを読むことができます。

これが役に立ちます。

+0

あなたの王女は別の城にいます:(リンクは死んでいます。この種の回答を避けるには、リンクを投稿するのが最も簡単だとわかっていますが、 –

0
  1. あなたは非Java EE環境でのJUnitを実行しているので、実際のEJBが使用できなくなりますので。
  2. GreetingManagerのスタブ付き実装、たとえばGreetingManagerStubを追加し、ビジネスロジックをテストする必要があります。
関連する問題