2

@Transactionalテストクラスで注釈を使用してトランザクションを有効にすることと、テストリスナーでトランザクションを有効にすることに違いはあります@TestExecutionListeners(TransactionalTestExecutionListener.class)か?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/applicationContext.xml")
@Transactional
public class MyTestClass {
....
}

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/applicationContext.xml")
@TestExecutionListeners(TransactionalTestExecutionListener.class)
public class MyTestClass {
....
}
4

1 に答える 1

1

TransactionalTestExecutionListenerトランザクションを作成する唯一の人です。アノテーションの存在を確認@Transactionalしてから、トランザクションを開きます。テスト実行リスナーが指定されている場合、Spring はいくつかのデフォルトのテスト実行リスナーを使用します。そのうちの 1 つは ですTransactionalTestExecutionListener。そのため、リスナーとアノテーションは別々に機能するように見えます。

于 2013-11-07T18:49:22.357 に答える