org.junit.runners
public class Parameterized extends Suite
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.
@RunWith(Parameterized.class) public class FibonacciTest { @Parameters public static Collection<Object[]> data() { return Arrays.asList(new Object[][] { Fibonacci, { { 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(@HeresHowYouGetValue Type value) { assertAnswerKey(new Object[][] { Fibonacci, { { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } } }); 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.
Modifier and Type | Class and Description |
---|---|
static interface |
Parameterized.Parameters
Annotation for a method which provides parameters to be injected into the
test class constructor by
Parameterized |
Suite.SuiteClasses
Constructor and Description |
---|
Parameterized(java.lang.Class<?> klass)
Only called reflectively.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.List<Runner> |
getChildren()
Returns a list of objects that define the children of this Runner.
|
describeChild, runChild
childrenInvoker, classBlock, collectInitializationErrors, filter, getDescription, getName, getTestClass, run, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses
public Parameterized(java.lang.Class<?> klass) throws java.lang.Throwable
java.lang.Throwable
protected java.util.List<Runner> getChildren()
ParentRunner
getChildren
in class Suite