0

这个问题是非常简单的- 具体的(但我不知道更好的地方问)。

有没有办法使用数组或列表类型的参数?是否有可能像这样使用的分隔符(excel表):

testMethod doubleList stringList 3.5,3.4,6.7 a,b,c

(分隔符在这里是',')所以我得到两个参数List doublelist和List stringList。目前我手动执行此操作:使用 all 作为字符串参数并将它们“拆分”在“,”上。然后将单个字符串转换为所需的类型。是否有最简单的“更简单”的方法?

4

2 回答 2

1

您只需使用 ':' 作为分隔符,EasyTest 就会为您将字符串拆分为一个集合。

EasyTest 中 @Param 注释的 javadoc 说:

“如果你想传递一个 Collection 类型,那么 EasyTest 框架会为你提供实例化 Collection 类的功能,并在可能的情况下传递正确的泛型参数。例如,如果你有这样的测试方法:

@Test
public void testArrayList(@Param(name="items") ArrayList<ItemId> items){
    Assert.assertNotNull(items);
    for(ItemId item : items){
        System.out.println("testArrayList : "+item);
    }
}

那么您所要做的就是:在测试数据文件(XML、CSV、Excel 或自定义)中将 itemIds 列表作为“:”分隔列表传递,例如:23:56:908:666

并注册一个编辑器或转换器,用于将字符串数据转换为对象。如果 Collection 的泛型类型参数是标准 Java 类型(日期、字符、时间戳、长整数、整数、浮点数、双精度等),那么您无需执行任何操作,框架将负责转换字符串数据到请求的类型。”

于 2014-03-06T07:09:04.340 回答
0

EasyTest 以行为基础(据我所知)。他们没有给出处理对象列表的任何规定。我正在使用相同的方式。我觉得原始类型更容易,但是对象列表呢..?

于 2013-09-19T07:27:52.763 回答