testng执行参数_Java自动化测试框架(TestNG)——参数化测试

922f2bf9de5871ff3ee42ab3c655feee.png

通常情况下,围绕着一个被测接口,根据边界值、等价类等测试方法,我们会涉及多条用例,使用不同的数据来进行测试,此时我们是否需要重复的写很多测试代码来实现这种场景下的测试呢?

答案是否定的。TestNG 提供了参数化的特性,允许使用不同的值重复运行同一个测试方法。

TestNG支持两种不同的方式将参数直接传递给测试方法:

  • 使用 @Parameters注解,需结合 testng.xml使用。
  • 使用 @DataProvider注解。

本文中主要介绍常用的 @DataProvider注解方式,将参数传递给@Test方法。

简单的@DataProvider示例

我们创建一个简单的@DataProvider示例,传递一个int 参数。

import org.testng.Assert;import org.testng.annotations.DataProvider;import org.testng.annotations.Test;public class TestDemo {    @Test(dataProvider = "testOracleProvideData")    public void testOracle(int actual,int expect) {        System.out.println("Run testOracle" + " Parameters:" + actual +","+ expect);        Assert.assertEquals(actual , expect);    }    @DataProvider(name = "testOracleProvideData")    public Object[][] provideData() {        return new Object[][] { {9527,9527}, {9528,9528}, {9526,9526} };    }}

执行示例 测试类代码,运行结果如下:

Run testOracle Parameters:9527,9527Run testOracle Parameters:9528,9528Run testOracle Parameters:9526,9526===============================================Default SuiteTotal tests run: 3, Failures: 0, Skips: 0===============================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值