Parameterized (JUnit API)

Junit


org.junit.runners Class Parameterized

java.lang.Object
  extended by org.junit.runner.Runner
      extended by org.junit.runners.ParentRunner<Runner>
          extended by org.junit.runners.Suite
              extended by org.junit.runners.Parameterized
所有已实现接口:
Describable, Filterable, Sortable

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.

For example, to test a Fibonacci function, write:
 @RunWith(Parameterized.class)
 public class FibonacciTest {
        @Parameters
        public static List<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() {
                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.


嵌套类摘要
static interface Parameterized.Parameters
          Annotation for a method which provides parameters to be injected into the test class constructor by Parameterized
 
Nested classes/interfaces inherited from class org.junit.runners.Suite
Suite.SuiteClasses
 
构造器摘要
Parameterized(Class<?> klass)
          Only called reflectively.
 
方法摘要
protected  List<Runner> getChildren()
          Returns a list of objects that define the children of this Runner.
 
类方法继承: org.junit.runners.Suite
describeChild, emptySuite, runChild
 
类方法继承: org.junit.runners.ParentRunner
childrenInvoker, classBlock, collectInitializationErrors, filter, getDescription, getName, getTestClass, run, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses
 
类方法继承: org.junit.runner.Runner
testCount
 
类方法继承: java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造器详细信息

Parameterized

public Parameterized(Class<?> klass)
              throws Throwable
Only called reflectively. Do not use programmatically.

抛出异常:
Throwable

方法详细信息

getChildren

protected List<Runner> getChildren()
Description copied from class: ParentRunner
Returns a list of objects that define the children of this Runner.

重写:
getChildren in class Suite