Allow non-public @Transactional test methods
Prior to this commit, the TransactionalTestExecutionListener required @Transactional test methods to be public; however, neither TestNG nor JUnit 5 require that @Test methods are public. Consequently, non-public transactional test methods silently run *without* a transaction. This commit removes the 'public' restriction on transactional test methods by setting the 'publicMethodsOnly' flag in AnnotationTransactionAttributeSource to false. Issue: SPR-14000
This commit is contained in:
parent
197434b3ec
commit
df7b24b8e7
|
|
@ -136,7 +136,8 @@ public class TransactionalTestExecutionListener extends AbstractTestExecutionLis
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private static final TransactionConfigurationAttributes defaultTxConfigAttributes = new TransactionConfigurationAttributes();
|
private static final TransactionConfigurationAttributes defaultTxConfigAttributes = new TransactionConfigurationAttributes();
|
||||||
|
|
||||||
protected final TransactionAttributeSource attributeSource = new AnnotationTransactionAttributeSource();
|
// Do not require @Transactional test methods to be public.
|
||||||
|
protected final TransactionAttributeSource attributeSource = new AnnotationTransactionAttributeSource(false);
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private TransactionConfigurationAttributes configurationAttributes;
|
private TransactionConfigurationAttributes configurationAttributes;
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ public class AnnotationConfigTransactionalTestNGSpringContextTests
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void modifyTestDataWithinTransaction() {
|
void modifyTestDataWithinTransaction() {
|
||||||
assertInTransaction(true);
|
assertInTransaction(true);
|
||||||
assertAddPerson(JANE);
|
assertAddPerson(JANE);
|
||||||
assertAddPerson(SUE);
|
assertAddPerson(SUE);
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ public class ConcreteTransactionalTestNGSpringContextTests extends AbstractTrans
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void modifyTestDataWithinTransaction() {
|
void modifyTestDataWithinTransaction() {
|
||||||
assertInTransaction(true);
|
assertInTransaction(true);
|
||||||
assertAddPerson(JANE);
|
assertAddPerson(JANE);
|
||||||
assertAddPerson(SUE);
|
assertAddPerson(SUE);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue