わかりました。この質問に対する答えは 2 つあります。まず、拡張AbstractTransactionalJUnit4SpringContextTests
は機能しません。これはSimpleJdbcTemplate
、テストで単純な JDBC クエリを使用して検証するための を作成するための単一のデータ ソースが必要なためです。このテストではこの機能を使用しないためextends AbstractTransactionalJUnit4SpringContextTests
、次の構成に置き換えることができます。
@ContextConfiguration(locations = "classpath:applicationContext.xml")
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({
DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class
})
@Transactional
public class IntegrationTest {
...
}
これらの注釈の組み合わせは、拡張と同じセットアップを提供しますAbstractTransactionalJUnit4SpringContextTests
。
2 番目の部分は、データ ソースが 3 つあるため、3 つすべてを同じ で参照する必要があることを理解することでしたPlatformTransactionManager
。私は分散トランザクションを持っています。これは では不可能なDataSourceTransactionManager
ので、 を使用する必要がありましたJtaTransactionManager
。