首页 > 代码库 > 1.2 JUnit4定义的标注

1.2 JUnit4定义的标注

JUnit4的第一种用户是应用程序/业务类程序员。他们需要很方便地使用Junit进行单元测试。各种《JUnit 4 使用手册》、《在 Eclipse 中运行 JUnit 4 测试》、《Unit Testing with JUnit - Tutorial》文章和一些书籍是为他们(其实是我们)准备的。

按照单元测试类和业务类分离的原则,他们需要设计一个单元测试类。如HelloWorld的单元测试类,通常命名为HelloWorldTest。从验证JUnit4.10源代码的角度,我们可以直接编写XxxUnit单元测试类而省略业务类——除非必要。

所以,JUnit在最短包名org.junit中定义了应用程序/业务类程序员常用的各种标注和工具类Assert、Assume

org.junit.Test

org.junit.Ignore @Target({ElementType.METHOD,ElementType.TYPE})

@Before和@After标示的方法只能各有一个,取代了JUnit以前版本中的setUp和tearDown方法

org.junit.BeforeClass @Target(ElementType.METHOD)

org.junit.Before @Target(ElementType.METHOD)

org.junit.AfterClass @Target(ElementType.METHOD)

org.junit.After @Target(ElementType.METHOD)

org.junit.Rule 

org.junit.ClassRule

较高级的使用或需要提供更多代码的测试,还包含了下列标注/annotation:

org.junit.runner.RunWith @Target(ElementType.TYPE),使用指定Runner运行测试。默认的Runner为org.junit.runners.JUnit4。

org.junit.runners.Suite.SuiteClasses @Target(ElementType.TYPE),将所有需要运行的测试类组成组/ Suite,一次性的运行以方便测试工作。

org.junit.runners.Parameterized.Parameters @Target(ElementType.METHOD),参数化测试

org.junit.experimental.theories.suppliers.TestedOn

org.junit.experimental.theories. DataPoint

org.junit.experimental.theories.DataPoints

org.junit.experimental.theories.ParametersSuppliedBy

org.junit.experimental.theories.Theory

org.junit.experimental.categories.Categories.ExcludeCategory

org.junit.experimental.categories.Categories.IncludeCategory

org.junit.experimental.categories.Category

参数化测试和成组测试

这些标注/annotation说修饰的单元测试类,就是JUnit将要处理的原材料。这些标注/annotation的含义以及代表的框架的设计需求,暂时不写。

1.2 JUnit4定义的标注