Class Parameterized

  extended by org.junit.runner.Runner
      extended by org.junit.internal.runners.TestClassRunner
          extended by 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:
 public class FibonacciTest {
    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.

Nested Class Summary
static interface Parameterized.Parameters
static class Parameterized.RunAllParameterMethods
Field Summary
Fields inherited from class org.junit.internal.runners.TestClassRunner
Constructor Summary
Parameterized(java.lang.Class<?> klass)
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 org.junit.runner.Runner
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public Parameterized(java.lang.Class<?> klass)
              throws java.lang.Exception
Method Detail


public static java.util.Collection<java.lang.Object[]> eachOne(java.lang.Object... params)


protected void validate(org.junit.internal.runners.MethodValidator methodValidator)
validate in class org.junit.internal.runners.TestClassRunner