总结一下JUnit4中常用的注解:
1.@RunWith:一个类添加@RunWith或继承的父类添加@RunWith时,JUnit会调用@RunWith使用指定的自定义Runner来执行该类中的测试方法,而不是JUnit4中固定的Runner。
Runner就是用来执行测试用例并通知给RunNotifier执行测试用例的进展。
JUnit4默认的Runner为BlockJUnit4ClassRunner,当你在Eclipse中新建一个JUnit Test Case时,生成的class并未显示指定@RunWith,这时Runner为默认的BlockJUnit4ClassRunner。
java.lang.Object org.junit.runner.Runner org.junit.runners.ParentRunner<FrameworkMethod> org.junit.runners.BlockJUnit4ClassRunner
常见的Runner有4类:
(1).Suite:执行指定多个类的测试方法。
java.lang.Object org.junit.runner.Runner org.junit.runners.ParentRunner<Runner> org.junit.runners.Suite
如下,运行SuiteClassTest,会执行聚合ATest.class和BTest.class中所有的测试方法。
@RunWith(Suite.class)
@SuiteClasses({ATest.class, BTest.class})
public class SuiteClassTest{
}
(2).Parameterized:执行参数化测试。
java.lang.Object org.junit.runner.Runner org.junit.runners.ParentRunner<Runner> org.junit.runners.Suite org.junit.runners.Parameterized
(3).Theories:根据@DataPoint作为输入数据,执行测试方法。
java.lang.Object