【发布时间】:2015-06-08 18:45:22
【问题描述】:
正如标题所说,我一直试图重载 Selenium 测试用例,但到目前为止没有成功。这是我的代码:
public class testClass {
@Test(dataProvider="testProvider")
public void testFunc(String value) throws Exception{
System.out.println("The only value provided was a string");
}
@Test(dataProvider="testProvider")
public void testFunc(String value, int myValue) throws Exception{
System.out.println("The two values provided are a string and an integer");
}
@DataProvider(name="testProvider")
public static Object[][] testProvider(){
return new Object[][]{ {"someString"}, {"someString", 5} };
}
}
当我运行此代码时,第一个测试用例(仅通过“someString”时)成功,但第二个测试用例(当“someString”和 5 都通过时)失败并显示以下消息:
org.testng.TestNGException: 数据提供者试图通过 2 参数,但方法 [项目结构已删除].testFunc 需要 1
我的想法已经用完了...完全有可能这根本无法完成,但这似乎是一个非常基本的问题,我一定遗漏了一些东西!
感谢您的帮助!
【问题讨论】:
-
根据您的代码,您将 2 组数据传递给 2 个方法,因此 2 个将通过,2 个将失败,您的代码不会帮助您获得预期的结果。不能使用 2 个数据提供者吗?
-
@skumar 有趣的是,这不是我得到的输出。这是我的输出:
The only value provided was a string =============================================== TestSuite Total tests run: 3, Failures: 2, Skips: 0 =============================================== -
@skumar 我已经通过第二种测试方法和第二种数据提供者获得了类似的功能,但我不应该这样做!
标签: java testng overloading