假设您定义了一个TestRule(例如,TemporaryFolder),您可以通过以下任一方式在测试类中应用该规则:
1.通过用@Rule 注释方法
public MyTestClass{
private TemporaryFolder folder= new TemporaryFolder();
@Rule
public TemporaryFolder getFolder() {
return folder;
}
@Test
...
}
2.通过用@Rule 注释字段
public MyTestClass{
@Rule
public TemporaryFolder folder= new TemporaryFolder();
@Test
...
}
似乎每个测试用例都以两种形式调用TemporaryFolder构造函数。每种形式的优缺点是什么?
第二个版本更简洁,否则它们是相同的。为其他基于JVM的语言添加了允许Rule
对方法进行注释的功能。