gpt4 book ai didi

java - 如何设计数据驱动的 JUnit 测试类

转载 作者:行者123 更新时间:2023-12-04 05:05:26 27 4
gpt4 key购买 nike

@Parameters
public static Collection data() throws IOException {
ArrayList<String> lines = new ArrayList();

URL url = PokerhandTestCase.class.getClassLoader().getResource("test/TestFile.txt");
File testFile = new File(url.getFile());
FileReader fileReader = new FileReader(testFile);
bufReader = new BufferedReader(fileReader);
assertFalse("Failed to load the test file.", testFile == null);

boolean isEOF = false;
while (!isEOF){

String aline = bufReader.readLine();

if (aline == null){
System.out.println("Done processing.");
isEOF = true;
}

lines.add(aline);
}

return Arrays.asList(lines);

}

程序的最后一行导致崩溃,我想知道从 arrayList 定义集合的正确方法是什么。这个函数需要 Collection 作为返回类型。

最佳答案

用这个替换最后一行:

return (Collection)lines;

由于 ArrayList 实现了 Collection 接口(interface): http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

所以整体代码:
  public static Collection data() throws IOException 
{
ArrayList<String> lines = new ArrayList();
// populate lines collection...
return (Collection)lines;
}

根据下面的评论,也许这符合“数组集合”的条件:
  public static Collection data() throws IOException 
{
ArrayList<String> array1 = new ArrayList();
ArrayList<String> array2 = new ArrayList();
ArrayList<String> array3 = new ArrayList();
// populate lines collection...
ArrayList<ArrayList<String>> lines = new ArrayList();
lines.add(array1);
lines.add(array2);
lines.add(array3);
return (Collection)lines;
}

关于java - 如何设计数据驱动的 JUnit 测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15562184/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com