51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 919|回复: 0
打印 上一主题 下一主题

[转贴] 通过 @Parameters 实现测试用例参数化

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-4 14:29:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目录如下:

DataProviderTest.java 代码如下:
package com.testng.cn;

  import org.testng.annotations.Parameters;
  import org.testng.annotations.Test;

  import static org.testng.Assert.assertEquals;

  public class DataProviderTest {

      @Test
      @Parameters({"add1","add2","result"})
      public void testAdd1(int add1, int add2, int result){
          assertEquals(add1+ add2, result);
      }
  }testng.xml配置文件如下:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
  <suite name="测试套件">
      <test name="简单测试">
          <parameter name="add1" value="3"/>
          <parameter name="add2" value="2"/>
          <parameter name="result" value="5"/>
          <classes>
              <class name="com.testng.cn.DataProviderTest" />
          </classes>
      </test>
  </suite>
<parameter.../> 定义测试数据
  · name 定义数据的名字, 在测试用例中通过该名字来获取对应的 vlaue。
  · o value 定义测试数据, 通过对应的 name 来获取该值。
  运行结果如下:

通过 @DataProvider 实现参数化。
  DataProviderTest.java 代码如下:
package com.testng.cn;

  import org.testng.annotations.DataProvider;
  import org.testng.annotations.Test;

  import static org.testng.Assert.assertEquals;

  public class DataProviderTest {


      // 定义对象数组
      @DataProvider(name = "add")
      public Object[][] Users() {
          return new Object[][] {
                  { 3, 2, 5 },
                  { 2, 2, 4 },
                  { 3, 3, 6 },
          };
      }

      @Test(dataProvider="add")
      public void testAdd2(int add1, int add2, int result){
          assertEquals(add1+add2, result);
      }

  }
@DataProvider 定义对象数组, 数组的名称为: add 。
  在 testAdd2() 中通过 dataProvider="add" 调用定义的对象数组, 并通过参数获取相应的测试数据。
  执行结果如下:











本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-1 13:22 , Processed in 0.062483 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表