org.junit.runners
Class Parameterized
java.lang.Object
org.junit.runner.Runner
org.junit.internal.runners.TestClassRunner
org.junit.runners.Parameterized
All Implemented Interfaces: Filterable , Sortable
public class Parameterized extends org.junit.internal.runners.TestClassRunner
The custom runner Parameterized
implements parameterized
tests. When running a parameterized test class, instances are created for the
cross-product of the test methods and the test data elements.
For example, to test a Fibonacci function, write:
@RunWith(Parameterized.class)
public class FibonacciTest {
@Parameters
public static Collection data() {
return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 },
{ 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });
}
private int fInput;
private int fExpected;
public FibonacciTest(int input, int expected) {
fInput= input;
fExpected= expected;
}
@Test public void test() {
assertEquals(fExpected, Fibonacci.compute(fInput));
}
}
Each instance of FibonacciTest
will be constructed using the two-argument
constructor and the data values in the @Parameters
method.
Fields inherited from class org.junit.internal.runners.TestClassRunner
fEnclosedRunner
Method Summary
static java.util.Collection<java.lang.Object[]>
eachOne (java.lang.Object... params)
protected void
validate (org.junit.internal.runners.MethodValidator methodValidator)
Methods inherited from class org.junit.internal.runners.TestClassRunner
filter, getDescription, getTestClass, run, sort
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Parameterized
public Parameterized (java.lang.Class<?> klass)
throws java.lang.Exception
Throws:
java.lang.Exception
eachOne
public static java.util.Collection<java.lang.Object[]> eachOne (java.lang.Object... params)
validate
protected void validate (org.junit.internal.runners.MethodValidator methodValidator)
Overrides: validate
in class org.junit.internal.runners.TestClassRunner