Author: chris.laprun(a)jboss.com
Date: 2007-06-01 04:50:47 -0400 (Fri, 01 Jun 2007)
New Revision: 7369
Modified:
trunk/common/src/main/org/jboss/portal/common/test/junit/POJOJUnitTest.java
Log:
- Now allow invocation of setUp and tearDown by overriding protected status of these
methods.
Modified: trunk/common/src/main/org/jboss/portal/common/test/junit/POJOJUnitTest.java
===================================================================
--- trunk/common/src/main/org/jboss/portal/common/test/junit/POJOJUnitTest.java 2007-05-31
06:02:24 UTC (rev 7368)
+++ trunk/common/src/main/org/jboss/portal/common/test/junit/POJOJUnitTest.java 2007-06-01
08:50:47 UTC (rev 7369)
@@ -148,8 +148,8 @@
// Invoke setUp() if it exists
try
{
- Method setUpMethod = testClass.getMethod("setUp", new Class[0]);
- if (isInvokable(setUpMethod))
+ Method setUpMethod = testClass.getDeclaredMethod("setUp", new
Class[0]);
+ if (isInvokable(setUpMethod, true))
{
setUpMethod.invoke(test, new Object[0]);
}
@@ -194,8 +194,8 @@
// Invoke tearDown() if it exists
try
{
- Method tearDown = testClass.getMethod("tearDown", new Class[0]);
- if (isInvokable(tearDown))
+ Method tearDown = testClass.getDeclaredMethod("tearDown", new
Class[0]);
+ if (isInvokable(tearDown, true))
{
tearDown.invoke(test, new Object[0]);
}
@@ -269,8 +269,24 @@
/** Return true if the method is invokable. */
private boolean isInvokable(Method m)
{
+ return isInvokable(m, false);
+ }
+
+ private boolean isInvokable(Method m, boolean allowProtected)
+ {
int modifiers = m.getModifiers();
- return Modifier.isPublic(modifiers) && !Modifier.isAbstract(modifiers)
&& !Modifier.isStatic(modifiers);
+
+ boolean accessible = Modifier.isPublic(modifiers);
+ if (allowProtected)
+ {
+ accessible |= Modifier.isProtected(modifiers);
+ if (accessible)
+ {
+ m.setAccessible(true);
+ }
+ }
+
+ return accessible && !Modifier.isAbstract(modifiers) &&
!Modifier.isStatic(modifiers);
}
public static TestSuite createTestSuite(Class testClass, Map parameterMap) throws
Exception
Show replies by date