问题描述:根据TestNG官方文档说明,可以将data Provider 定义在其他的类中,只需要将data provider的方法定义为静态方法,同时在引用data provider的时候指定dataProviderClass属性值即可,我按照这个流程进行操作,最后的运行结果却不是pass,而是skip,希望各位友人帮忙解答一下。
TestForDataProvider.java代码如下
package com.testngdemo;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
class StaticProvider{
@DataProvider(name = "data1")
public static Object[][] createData1(){
return new Object[][]{
{"heting", new Integer(23)},
{"zhougang", new Integer(31)}
};
}
}
public class TestForDataProvider {
@Test(dataProvider = "data1", dataProviderClass = StaticProvider.class)
public void test1(String name, Integer age) {
System.out.println(name + "的年纪:" + age + "岁");
}
}
testng.xml文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="suite1">
<test name="test1">
<classes>
<class name="com.testngdemo.TestForDataProvider"></class>
</classes>
</test>
</suite>