这个 Github 搜索(@interface
) 为您提供所有注释的列表:
基本注释
@Test https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Test.java
@Before https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Before.java
@After https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/After.java
@AfterClass https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/AfterClass.java
@BeforeClass https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/BeforeClass.java
@Ignore https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Ignore.java
@Runwith https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/runner/RunWith.java
参数化测试
对于参数化测试使用@Parameters
and @RunWith(Parameterized.class)
https://github.com/junit-team/junit/wiki/Parameterized-tests https://github.com/junit-team/junit/wiki/Parameterized-tests
Category
@Category https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/categories/Category.java
将测试分组。例如快、慢等。
https://github.com/junit-team/junit/wiki/Categories https://github.com/junit-team/junit/wiki/Categories
@IncludeCategory https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/categories/Categories.java#L84
仅运行以下类和方法
用给定的类别进行注释@IncludeCategory
注释,或该类别的子类型。
@ExcludeCategory https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/categories/Categories.java#L99
的倒数@IncludeCategory
Rules
@Rule https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java
规则允许非常灵活地添加或重新定义测试类中每个测试方法的行为。例如创建临时文件夹规则,用于在运行测试时创建临时文件夹。
https://github.com/junit-team/junit/wiki/Rules https://github.com/junit-team/junit/wiki/Rules
理论及相关注释
@Theory https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/theories/Theory.java
理论给出了更灵活和更具表现力的断言
https://github.com/junit-team/junit/wiki/Theories https://github.com/junit-team/junit/wiki/Theories
@DataPoint https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/theories/DataPoint.java
使用注释字段或方法@DataPoint
会导致字段值
或该方法返回的值用作潜在参数
该课程中的理论
@DataPoints https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/theories/DataPoints.java
的扩展@Datapoint
使用注释数组或可迭代类型字段或方法@DataPoints
将导致数组或可迭代中的值被用作潜在的
该类理论的参数
@FromDataPoints https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/theories/FromDataPoints.java
注释 a 的参数@Theory
方法与@FromDataPoints
将限制
数据点被视为该参数的潜在值@DataPoints
与给定的名字
@ParametersSuppliedBy https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/theories/ParametersSuppliedBy.java
注释一个@Theory
方法参数与@ParametersSuppliedBy
导致它被提供
来自命名的值ParameterSupplier
当作为理论运行时
@TestedOn https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/experimental/theories/suppliers/TestedOn.java
The @TestedOn
注释采用一组值用作注释的数据点
范围。
e.g.
@Theory
public void multiplyIsInverseOfDivideWithInlineDataPoints(
@TestedOn(ints = {0, 5, 10}) int amount,
@TestedOn(ints = {0, 1, 2}) int m
) {
assumeThat(m, not(0));
assertThat(new Dollar(amount).times(m).divideBy(m).getAmount(), is(amount));
}