我的项目中有一对测试,我想以不同的方法顺序运行。通常我会使用 DataProvider 来生成测试的输入:
@DataProvider
public Object[][] getUsers() {
// generate input for test2();
}
@Test(dataProvider = "getUsers")
public void test2(User user) {
assertSomething(user);
}
但是在这里我需要这两种方法来像测试一样,因为我有测试逻辑,它不属于数据提供者。
所以我想要这样的东西:
@Test
public Object test1() {
User user = createUser();
assertSomething(user);
return user.getProperty();
}
@Test // depends on test1 - I do not want to execute this test if test1 fails.
public void test2(Object userProperty) {
assertSomethingElse(userProperty);
}
事实上,我可以把 test1 的逻辑放到 test2 来实现我想要的,但我想知道是否有更智能的方法来做到这一点。