Support @[Before|After]Transaction on non-public methods
In order to align with the relaxed programming models of TestNG and the upcoming JUnit 5 (with regard to method visibility), this commit removes the requirement that @BeforeTransaction and @AfterTransaction methods must be 'public'. Issue: SPR-13997
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -24,7 +24,7 @@ import static java.lang.annotation.ElementType.*;
|
||||
import static java.lang.annotation.RetentionPolicy.*;
|
||||
|
||||
/**
|
||||
* <p>Test annotation to indicate that the annotated {@code public void} method
|
||||
* <p>Test annotation to indicate that the annotated {@code void} method
|
||||
* should be executed <em>after</em> a transaction is ended for a test method
|
||||
* configured to run within a transaction via the {@code @Transactional} annotation.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -24,7 +24,7 @@ import static java.lang.annotation.ElementType.*;
|
||||
import static java.lang.annotation.RetentionPolicy.*;
|
||||
|
||||
/**
|
||||
* <p>Test annotation to indicate that the annotated {@code public void} method
|
||||
* <p>Test annotation to indicate that the annotated {@code void} method
|
||||
* should be executed <em>before</em> a transaction is started for a test method
|
||||
* configured to run within a transaction via the {@code @Transactional} annotation.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -246,6 +246,7 @@ public class TransactionalTestExecutionListener extends AbstractTestExecutionLis
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Executing @BeforeTransaction method [" + method + "] for test context " + testContext);
|
||||
}
|
||||
ReflectionUtils.makeAccessible(method);
|
||||
method.invoke(testContext.getTestInstance());
|
||||
}
|
||||
}
|
||||
@@ -273,6 +274,7 @@ public class TransactionalTestExecutionListener extends AbstractTestExecutionLis
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Executing @AfterTransaction method [" + method + "] for test context " + testContext);
|
||||
}
|
||||
ReflectionUtils.makeAccessible(method);
|
||||
method.invoke(testContext.getTestInstance());
|
||||
}
|
||||
catch (InvocationTargetException ex) {
|
||||
|
||||
Reference in New Issue
Block a user