java - TestNG - 无法添加字符串列表作为数据提供者
问题描述
我正在尝试将字符串列表作为 DataProvider 传递,这是我的代码:
@DataProvider(name="test-urls")
public Object[] testUrls(){
ArrayList<Object> data = new ArrayList<>();
// do something here to add elements
// i.e: data.add("test string 1");
return new Object[] {data};
}
这是测试:
@Test(enabled = true, dataProvider = "test-urls")
public void test(String url) {
System.out.println("url: " + url);
}
看起来简单的测试失败了。你能告诉我我的代码有什么问题吗?谢谢
解决方案
如果你不喜欢老式的 DP 风格,值得尝试一个名为test-data-supplier的 TestNG 扩展,它是一个实体驱动的 DP。然后您的样本将变得如此简单:
@DataSupplier(name="test-urls")
public List<String> testUrls(){
return Arrays.asList("url1", "url2", "url3");
}
@Test(enabled = true, dataProvider = "test-urls")
public void test(String url) {
System.out.println("url: " + url);
}
推荐阅读
- sql-server - SQL Server 2017 中联接和子查询的区别
- flutter - Flutter on print 显示问题实例
- python - Selenium Python 无缘无故抛出 browser_switcher_service.cc(238) 错误
- java - 在回收站视图中触发第一个和最后一个开关按钮
- unix - 根据关键词 grep 整个文本
- python - Django Rest Framework default_authentication_classes 设置
- sql - 使用 SQL 选择历史数据的当前有效记录
- reactjs - 如何在 react-chartjs-2 X-axes 中显示特定时间段的所有天数
- postgresql - pg_Ctl -data 目录的所有权错误
- javascript - 从可编辑文件中插入文本格式或 textarea 进入数据库