当我使用此@Parameter
方法执行参数化TestClass时,我收到java.lang.IllegalArgumentException - wrong number of arguments
例外。
代码:
@Parameters
public static Collection<List<String>> inputParameter(){
Collection<List<String>> parameters = new ArrayList<>();
List<String> args1 = new ArrayList<>();
args1.add("CD");
args1.add("AACD");
List<String> args2 = new ArrayList<>();
args2.add("BCBC");
args2.add("BCBC");
parameters.add(args1);
parameters.add(args2);
return parameters;
}
请帮我理解此代码中的问题。感谢任何帮助!
答案 0 :(得分:0)
我不确定我到底知道你想要什么,或者你真正想要完成什么,但我愿意在这里试一试。如果您要提供更多信息,那么您很可能会得到更深入的答案。
您在帖子中提供的代码是可以的并且确实会编译,这完全取决于您如何调用该方法,然后如何通过 inputParameter()方法返回结果(Collection)
因为此方法返回列表集合,您需要声明一个Collection以将返回的集合放入:
Collection<List<String>> list = inputParameter();
有几种方法可以迭代Collection。这一切都取决于你想要的收藏品。我相信您只想查看每个列表包含的内容:
//Java 8 (sequential Stream):
list.forEach((temp) -> {
System.out.println(temp);
});
控制台输出将是:
[CD, AACD]
[BCBC, BCBC]