1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2002,2010 Oracle. All rights reserved.
*
* $Id: JUnitMethodThread.java,v 1.8.2.2 2010/01/04 15:30:43 cwl Exp $
*/
package com.sleepycat.je.junit;
import java.lang.reflect.Method;
import junit.framework.TestCase;
/**
* A JUnitThread whose testBody calls a given TestCase method.
*/
public class JUnitMethodThread extends JUnitThread {
private TestCase testCase;
private Method method;
private Object param;
public JUnitMethodThread(String threadName, String methodName,
TestCase testCase)
throws NoSuchMethodException {
this(threadName, methodName, testCase, null);
}
public JUnitMethodThread(String threadName, String methodName,
TestCase testCase, Object param)
throws NoSuchMethodException {
super(threadName);
this.testCase = testCase;
this.param = param;
method = testCase.getClass().getMethod(methodName, new Class[0]);
}
public void testBody()
throws Exception {
if (param != null) {
method.invoke(testCase, new Object[] { param });
} else {
method.invoke(testCase, new Object[0]);
}
}
}
|