Junit/TestNg testNG 实践应用

果汁 · 2021年08月28日 · 1583 次阅读

1 testNG 实践应用

1.1 testNG 流水线如何解决流程控制问题

1.2 testNG 忽略测试用例

有时候我们只想运行部分测试用例,在这种情况下,@Test(enable=false) 有助于禁用某些测试用例。被标注的测试用例将不会被执行,此参数默认值为 true。

1.3 testNG 组控制问题

在 testNG 中,组 groups 的概念主要是相对于测试方法而言的,即将具有相似功能的测试方法分组,这样在定义测试用例的时候就可以以组为单位加入对应的测试方法。一个测试方法可以属于组,可以属于多个组。

1.4 testNG 依赖控制

通过 dependsOnMethods 声明被依赖方法,该方法将在被依赖方法成功执行后才会执行,假如被依赖方执行失败则该方法会被跳过。

1.5 testNG 流水线解决多线程问题

测试方法是通过在@Test注解中配置 ThreadPoolSize 这个属性来进入多线程模式的。ThreadPoolSize 被设置为 3,说明该测试方法将会在 3 个不同线程中同时执行;invocationCount 配置的是该测试方法应被执行的总次数;timeOut 配置的是每次执行该测试方法所耗费时间,超过则测试失败。

1.6 testNG 流水线解决参数化问题

需要传递复杂参数,或者参数需要从 Java 中创建(如复杂对象,从属性文件或者数据库中读取的对象),可以使用 DataProvider 来给需要的测试提供参数、所谓数据提供者,就是一个能返回对象数组的方法,并且这个方法被 @DataProvider 注解标注。

场景:同一个测试方法需要根据方法参数传入不同的测试数据。如果不这样处理,那就需要写多个测试方法(名词:测试方法、方法参数、测试数据)。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册