依赖关系
先给个例子
@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() {}
简单清楚,不易出错。