私は以下を使用するSpringテストを持っています:
@RunWith(SpringJUnit4ClassRunner.class)
Springテスト基本クラスから拡張された古いテスト方法とは異なり、Springが使用してロードされたApplicationContextにアクセスする明確な方法はないようです。@ContextConfiguration
ApplicationContext
テストメソッドからオブジェクトにアクセスするにはどうすればよいですか?
ありがとう!
私は以下を使用するSpringテストを持っています:
@RunWith(SpringJUnit4ClassRunner.class)
Springテスト基本クラスから拡張された古いテスト方法とは異なり、Springが使用してロードされたApplicationContextにアクセスする明確な方法はないようです。@ContextConfiguration
ApplicationContext
テストメソッドからオブジェクトにアクセスするにはどうすればよいですか?
ありがとう!
Springドキュメントの統合テストセクションから
@Autowired ApplicationContext
ApplicationContextAwareインターフェースを実装する代わりに、フィールドまたはセッターメソッドの@Autowiredアノテーションを介してテストクラスのアプリケーションコンテキストを挿入できます。例えば:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class MyTest {
@Autowired
private ApplicationContext applicationContext;
// class body...
}
ApplicationContextの@Autowired属性を追加します
@Autowired ApplicationContext applicationContext;
私はこれを使用します:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyClassTest
{
}
プロジェクトのビルドパスに移動して-> Source ->
、の場所を追加しますapplicationContext.xml
私はMavenを使用しているので、applicationContext.xml
は下にありsrc/main/resources
ます。
このメソッドを使用する場合、たとえば次のようにテストするために複数のapplicationContextを持つことができます。
@ContextConfiguration("classpath:applicationContext_Test.xml")
また
@ContextConfiguration("classpath:applicationContext_V01.xml")