java test before_java – TestNG:当@BeforeClass方法失败时,将跳过所有后续的Test类?...

我的设置:

>包含@BeforeClass方法的TestBase类

>几个Test类从TestBase类扩展而且还包含@BeforeClass方法

> testNG 6.8.8

为什么这样设置?:

>我需要TestBase类中的@BeforeClass来提供所有测试类都需要的设置,我不想在每个Test类中重复.例如,与线程ID相关的登录凭据.

> TestBase类还实例化Selenium WebDriver

>我需要Test类中的@BeforeClass来初始化所有@Test方法需要使用的所有内容,但是只需要(或必须)为所有测试构建/调用一次.这包括对所述WebDriver实例的调用(这就是“普通”构造函数在这里不起作用的原因)

这是发生的事情:

当我通过testNG xml文件运行测试并且其中一个Test类的@BeforeClass方法中存在异常时,TestNG会跳过所有后续测试类.

为什么会这样?怎么预防呢?

例如,当我将TestBase类中的注释更改为@BeforeSuite时,即使@BeforeClass方法中存在异常,也会运行所有测试.

例:

运行xml文件时,将跳过完整的RunAllTestClasses02类.

testNG xml文件:

带有@BeforeClass方法的TestBase类:

public abstract class RunAllTestClassesBase {

@BeforeClass

public void beforeClass() {

// do something that all Test classes will need

}

}

在@BeforeClass方法中抛出异常的测试类:

public class RunAllTestClasses01 extends RunAllTestClassesBase {

@BeforeClass

public void beforeClass() {

Assert.assertTrue(false);

}

@Test

public void Test01() {

Assert.assertTrue(true);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值