Support @[Before|After]Transaction on default methods
Prior to this commit, @BeforeTransaction and @AfterTransaction could only be declared on methods within test classes. However, JUnit 5 as well as some existing third-party Runner implementations for JUnit 4 already support Java 8 based interface default methods in various scenarios -- for example, @Test, @BeforeEach, etc. This commit brings the Spring TestContext Framework up to date by supporting the declaration of @BeforeTransaction and @AfterTransaction on interface default methods. Issue: SPR-14183
This commit is contained in:
@@ -20,7 +20,6 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.ExpectedException;
|
||||
@@ -245,13 +244,11 @@ public class TransactionalTestExecutionListenerTests {
|
||||
assertAfterTestMethod(AfterTransactionDeclaredViaMetaAnnotationTestCase.class);
|
||||
}
|
||||
|
||||
@Ignore("Disabled until @BeforeTransaction is supported on interface default methods")
|
||||
@Test
|
||||
public void beforeTestMethodWithBeforeTransactionDeclaredAsInterfaceDefaultMethod() throws Exception {
|
||||
assertBeforeTestMethod(BeforeTransactionDeclaredAsInterfaceDefaultMethodTestCase.class);
|
||||
}
|
||||
|
||||
@Ignore("Disabled until @AfterTransaction is supported on interface default methods")
|
||||
@Test
|
||||
public void afterTestMethodWithAfterTransactionDeclaredAsInterfaceDefaultMethod() throws Exception {
|
||||
assertAfterTestMethod(AfterTransactionDeclaredAsInterfaceDefaultMethodTestCase.class);
|
||||
|
||||
Reference in New Issue
Block a user