TestNg-07-参数化测试

2020-03-12  本文已影响0人  请叫我刚爷

参数化测试就是,当测试的时候给测试方法传递参数

package com.course.testng.paramter;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class CanShuTest {
    @Test
    @Parameters({"name","age"})
    public void test1(String name,int age){
        System.out.println("name = " + name + ";  age = " + age);
    }
}
<?xml version="1.0" encoding="UTF-8" ?>
<suite name="parameter">
    <test name="param">
        <classes>
            <parameter name="name" value="zhangsan"/>
            <parameter name="age" value="10"/>
            <class name="com.course.testng.paramter.CanShuTest"/>
        </classes>
    </test>
</suite>
package com.course.testng.paramter;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.lang.reflect.Method;
public class CanShuTets1 {
    @Test(dataProvider = "data0")
    public void test0(String name,int age){
        System.out.println("name =" + name +"; age=" + age);
    }
    @DataProvider(name="data0")
    public Object[][] data0(){
        Object[][] o = new Object[][]{
                {"jack",10},
                {"rose",20}
        };
        return o;
    }

    @Test(dataProvider = "data1")
    public void test1(String name,int age){
        System.out.println("test111方法 name="+name+";age="+age);
    }
    @Test(dataProvider = "data1")
    public void test2(String name,int age){
        System.out.println("test222方法 name="+name+";age="+age);
    }
    @DataProvider(name="data1")
    public Object[][] methodDataTest(Method method){
        Object[][] result=null;
        if(method.getName().equals("test1")){
            result = new Object[][]{
                    {"jack",20},
                    {"rose",25}
            };
        }else if(method.getName().equals("test2")){
            result = new Object[][]{
                    {"jack",50},
                    {"rose",60}
            };
        }
        return result;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读