• 16、测试用例参数化


    • 通过 @Parameters 实现参数化

    目录如下:

    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" 调用定义的对象数组, 并通过参数获取相应的测试数据。

    执行结果如下:

  • 相关阅读:
    luogu P2661 信息传递 强连通分量求最小环
    luogu P1346 电车 最短路
    luogu P1113 杂务
    luogu P1111 修复公路 最小生成树prim
    python提交要注意的几个地方
    【图论】拓扑排序
    算法竞赛入门经典 第六章
    实用函数
    Markdown数学公式语法
    Codeforces Round #627 (Div. 3) 补题
  • 原文地址:https://www.cnblogs.com/suim1218/p/8883350.html
Copyright © 2020-2023  润新知