TestNG:如果忽略了dependsOnMethods中的方法,如果它被跳过并继续执行

时间:2017-11-30 11:44:37

标签: selenium testng

我有一个TestNG类,其中包含以下方法。

@Test(priority=4)
public void Test1() 
{   
}

@Test(priority=5, dependsOnMethods={"Test1"})
public void Test2() 
{
    throw new SkipException("SKIP");
}

@Test(priority=6, dependsOnMethods={"Test1"})
public void Test3() 
{
}

@Test(priority=7, dependsOnMethods={"Test1"})
public void Test4() 
{
}

@Test(priority=8, dependsOnMethods={"Test2","Test3","Test4"})
public void Test5() 
{
}

我想要达到的目标是: Test2,Test3和Test4取决于Test1。所以只有当Test1通过时我才需要继续。

Test5依赖于Test2,Test3和Test4。 但我可以跳过任何测试(即Test2,Test3或Test4),如果其他测试没有失败,我仍然希望继续执行Test5。

我怎样才能做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用alwaysRun = true

@Test(alwaysRun = true, priority=8, dependsOnMethods={"Test2","Test3","Test4"})
    public void Test5() 
    {
    }

如果跳过任何相关测试,将执行Test5;如果任何一个相关测试失败,也将执行。