TestNG有类似的东西@Rule吗?我在具体思考:
@Rule public TemporaryFolder folder = ...
Run Code Online (Sandbox Code Playgroud)
甚至
@Rule public MethodRule globalTimeout = new Timeout(20);
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用setUp()和tearDown()等价物手动实现这些东西,但这些并没有给我带来的便利@Rule.
规则很容易模仿,例如超类:
public void Base {
@BeforeMethod
public void createTempDir() { ... }
@AfterMethod
public void deleteTempDir() { ... }
}
public void MyTest extends Base {
@Test
...
}
Run Code Online (Sandbox Code Playgroud)
如果扩展 Base,将始终自动创建一个临时目录,然后将其删除。
这种方法相对于规则的优势在于规则始终是类范围的,而使用 TestNG,您可以围绕方法、测试、类、组甚至套件来实现它们。
| 归档时间: |
|
| 查看次数: |
12483 次 |
| 最近记录: |