1
错误号出现这样的错误:JUNIT参数错误:我正在使用JUnit的参数化测试和参数
java.lang.IllegalArgumentException异常:参数
错误号码这是代码:
测试:
@Parameters
public static Collection<Object[]> spreadsheetData() throws IOException {
InputStream file = new FileInputStream("c:\\Path\\to\\file\\jeje.xls");
return Utils.loadFromExcel(file);
}
方法:
public static Collection<Object[]> loadFromExcel(final InputStream excelFile)
throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook(excelFile);
Sheet sheet = workbook.getSheetAt(0);
// Number of columns
int numberOfColumns = countNonEmptyColumns(sheet);
int rows=0;
// Number of rows
for (Row row : sheet) {
rows++;
}
Object[][] datos = new Object[numberOfColumns][rows];
for (int row = 0; row<rows; row++) {
for (int column = 0; column < numberOfColumns; column++) {
Cell cell = sheet.getRow(row).getCell(column);
datos[column][row] = cell.getRichStringCellValue();
}
}
return Arrays.asList(datos);
}
我不知道什么是错的。
感谢您的帮助
感谢您的帮助。我改变了那个错误,但问题仍然是一样的,出现错误的参数数量 – MrGreen 2012-08-02 10:31:37
你的单元测试类必须有一个公共构造函数,它的参数个数与你Excel表中的列的数量相同(也就是说, 'spreadsheetData()'方法) – 2012-08-02 12:01:08
谢谢。最后,我传递如下格式的数据: return Arrays.asList(new Object [] [] {{new Object [] {data1,data2}},{new Object [] {data1,data2}}}); – MrGreen 2012-08-02 15:27:38