我一直在寻找类似的东西,但是我发现的全部是固定测试顺序或完全随机的。
我有这种测试结构:
// imports
@RunWith(Suite.class)
@Suite.SuiteClasses({
// Tests
})
public class TestRunSuite {
}
以及我想做什么:
// imports
@RunWith(Suite.class)
@Suite.SuiteClasses({
testToExecuteFirst.class,
// Tests in random order
testToExecuteLast.class
})
public class TestRunSuite {
}
或
有没有办法让TestSuite在2个函数中间执行? 我是什么意思:
authentificationSetUp();
// somehow calling TestRunSuite
authentificationSetUpBack();
我要执行此操作的原因是,我需要更改一个网站上的身份验证超时,但事实是,我需要以管理员身份登录并且测试是否适用于其他角色。因此,与其进行所有这些测试,而不是将这2个测试分别放入@BeforeClass和@AfterClass,都是如此。
答案 0 :(得分:1)
您可以在TestRunSuite类中简单地添加一个@BeforeClass方法和一个@AfterClass方法。
@RunWith(Suite.class)
@Suite.SuiteClasses({
// Tests
})
public class TestRunSuite {
@BeforeClass
public void authentificationSetUp() {
//Your code
}
@AfterClass
public void authentificationSetUpBack() {
//Your code
}
}