是的,这三种方法将在同一事务中运行。请参阅参考文档中的TestContext Framework /事务管理部分:
事务 执行任何before方法(例如,用JUnit的@Before注释的方法)和任何after方法(例如,用JUnit的@After注释的方法)
因此@Transactional
,mySetup()
和上的注释myTeardown()
是多余的,甚至可能被误导,因为它们的事务性由当前正在执行的单个测试方法确定。
这是因为(负责启动/完成事务的)beforeTestMethod()
和的afterTestMethod()
回调分别在JUnit的方法TransactionalTestExecutionListener
之前@Before
和JUnit的@After
方法之后执行。