java testng_java-TestNG测试继承和组

我们有DAO测试,应同时针对真实DAO /数据库和模拟dao进行测试,以验证模拟dao的行为与真实dao相同.为此,我们具有如下结构:

public abstract class DAOTestBase

{

public void testSimple()

{

// dummy assertion

assertTrue(true, "Hello");

}

}

@Test(groups = "fast")

public class TestMockDAO extends DAOTestBase

{

// setUp/tearDown and helper methods for mock

}

@Test(groups = "slow")

public class TestDAO extends DAOTestBase

{

// setUp/tearDown and helper methods for real DB

}

不幸的是,这不起作用-TestNG认为testSimple方法不是测试,因此不会运行它.因此,我改为尝试注释testSimple方法(或DAOTestBase类):

>不带任何组的@Test批注将产生相同的效果-快速组和慢速组都不会运行测试.

>具有快速和慢速组的@Test批注将产生相反的效果-将同时运行TestMockDAO和TestDAO,而不管只应运行快速测试还是仅运行慢速测试.

>一个@Test注释具有不同的组,例如common,并且在TestMockDAO和TestDAO中都添加了dependsOnGroups =“ common”注释也将不起作用,除非在要运行的组中包含common,这又导致上述情况2(TestMockDAO和运行TestDAO).

最后,我要寻找的是一种能够为子类中的继承测试定义组的方法,但似乎@Test批注似乎仅应用于同一类中的测试方法,也不要继承没有@Test批注的方法.还有其他方法可以实现此目的(不重写子类中的所有方法)吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值