zoukankan      html  css  js  c++  java
  • (九)TestNG 用例参数化

    参数化也测试用例中常用的技巧之一,它可以增加用例的可配置性和减少相同用例的编写。

    通过 @Parameters 实现参数化


    import org.testng.annotations.Parameters;
    import org.testng.annotations.Test;
    import static org.testng.AssertJUnit.assertEquals;
    
    public class DataProviderTest {
    
        @Test
        @Parameters({"add1","add2","result"})
        publicvoidtestAdd1(int add1, int add2, int result){
            assertEquals(add1+ add2, result);
        }
    
    }
    
    • @Parameters 获取参数化数据,作为 testAdd1() 测试方法的参数。

    具体的测试数据在 testng.mxl 文件中设置。

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="测试套件">
        <testname="简单测试">
            <parametername="add1"value="3"/>
            <parametername="add2"value="2"/>
            <parametername="result"value="5"/>
            <classes>
                <classname="test.sample.DataProviderTest" />
            </classes>
        </test>
    </suite>
    
    • <parameter.../> 定义测试数据
      • name 定义数据的名字,在测试用例中通过该名字来获取对应的vlaue。
      • value 定义测试数据,通过对应的name来获取该值。

    通过 @DataProvider 实现参数化


    import org.testng.annotations.DataProvider;
    import org.testng.annotations.Test;
    import static org.testng.AssertJUnit.assertEquals;
    
    public class DataProviderTest {
    
        // 定义对象数组
        @DataProvider(name = "add")
        public Object[][] Users() {
            return new Object[][] {
                    { 3, 2, 5 },
                    { 2, 2, 4 },
                    { 3, 3, 7 },
            };
        }
    
        @Test(dataProvider="add")
        publicvoidtestAdd2(int add1, int add2, int result){
            assertEquals(add1+add2, result);
        }
    
    }
    
    • @DataProvider 定义对象数组,数组的名称为:add 。

    在 testAdd2() 中通过 dataProvider="add" 调用定义的对象数组,并通过参数获取相应的测试数据。

    执行结果如下:

  • 相关阅读:
    Spring messageSource
    Spring MVC集成Tiles使用方法
    Jquery发送ajax请求以及datatype参数为text/JSON方式
    怎样使用jsp实现header和footer与网页内容的分离
    jsp:include怎么设置才能正确显示包含的页面呢
    JSP中两种include的区别
    让html文件也具体include包含的功能
    DWZ中uploadify多文件上传
    DWZ+Uploadify +JSON 多文件上传
    dwz+jquery+fileupload+springmvc实现文件上传 及图片预览
  • 原文地址:https://www.cnblogs.com/xinlan06/p/11498779.html
Copyright © 2011-2022 走看看