依赖关系
先给个例子
@Test
public void serverStartedOk() {}
@Test(dependsOnMethods = { "serverStartedOk" })
public void method1() {}
在这个例子中,method1()必须在serverStartedOk()执行后才能执行,而且serverStartedOk()不能fail,否则method1()会被skip掉
基本上类似于ant的依赖关系,也很容易理解,只是分为强依靠和弱依靠,区别是弱依靠只管执行的顺序,强依靠除了顺序,还要正确,否则后面的不执行,上面的例子是强依靠,下面是弱依靠,加上alwaysrun=”true”
@Test
public void serverStartedOk() {}
@Test(dependsOnMethods = { "serverStartedOk" },alwaysRun=true)
public void method1() {}
如果依赖的测试比较多,例如我还有一个前置测试
@Test
public void mqIsOk(){}
那么我的后续测试就需要增加两个依赖
@Test(dependsOnMethods = { "serverStartedOk,mqIsOK" })
public void method1() {}
需要把所有的依赖全部列出来,这就有出错的倾向和可能。所以可以用分组来代替列出所有的依赖测试:
@Test(groups = { "init" })
public void serverStartedOk() {}
@Test(groups = { "init" })
public void mqIsOk() {}
@Test(dependsOnGroups = {"init"})
public void method1() {}
简单清楚,不易出错。