2012-05-12 18 views
3

SpringJUnit4ClassRunnerを使用して@Resourceアノテーションを使用して注入変数をフラグする既存のテストケースがあります。キュウリランナーのためにスプリング依存関係が注入されていません

@Resourceが別のDIフレームワークとして使用され、将来使用される可能性があります。 (@Resource vs @Autowired

今、私はキュウリランナーを使用してBDDテストケースを作成し始めました。しかし、DIは起きていないようです。 (@Autowiredは動作しますが、@Resourceは動作しません)なぜ誰も知りませんか?

+0

リンク 'Resource vs Autowired'によると、両方ともSpring 3.0から推奨されていません。JSR-330の' interface Inject'アノテーションに移行することを検討してください。 –

答えて

5

(私はあなたがキュウリ-JVMを使用していると仮定しています)

代わりSpringJUnit4ClassRunnerを使用するのではなく、あなたの代わりにキュウリランナーを使用する必要があります。

@RunWith(Cucumber.class) 

では、次の依存関係が必要になり、これを使用するには、次の

<dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-java</artifactId> 
     <version>${info.cukes.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-junit</artifactId> 
     <version>${info.cukes.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-spring</artifactId> 
     <version>${info.cukes.version}</version> 
     <scope>test</scope> 
    </dependency> 

これは、あなたのクラスパスにcucumber.xmlを探します。このXMLは単なるSpring Bean構成のXMLです。鉱山は、前方にかなりまっすぐで、含まれています

<context:component-scan base-package="cucumber.runtime.java.spring"/> 
<context:annotation-config/> 

<!-- wire beans required for testing --> 
<import resource="classpath*:/context.xml"/> 

テストを実行すると、あなたが春の負荷cucumber.xmlを参照して、のcontext.xmlをインポートする必要があります。

関連する問題