JUnit中的参数types不匹配

我对Selenium webdriver和Java相当陌生,以前我使用过Selenium IDE。 我试图从Excel工作表读取testing数据。 然后将其写入Eclipse控制台,该控制台可以正常工作,并且应该用于执行实际testing,但不起作用。 实际的testing不执行,因为我得到一个错误参数types不匹配。 代码如下所示:

package Test_Excel; import java.io.FileInputStream; import java.io.IOException; import java.util.Arrays; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; @RunWith(Parameterized.class) public class TestWithExcelData { // Our two parameters private final int input; private final int resultExpected; // Constructor public TestWithExcelData(int input, int result) { this.input = input; this.resultExpected = result; } @Parameters public static Iterable<Object []> data() throws BiffException, IOException { String FilePath = "C://Selenium//workspace//testproject//src//testdata//TestData.xls"; FileInputStream fs = new FileInputStream(FilePath); Object[][] object = new Object[6][2]; Workbook wb = Workbook.getWorkbook(fs); //locate the excel file in the local machine Sheet sheet = wb.getSheet("IOResult"); int i=1; //avoid header row while(!(sheet.getCell(0, i).getContents().equals("end"))) //read data till it reaches the cell whose text is 'end' { object[i-1][0]=sheet.getCell(0, i).getContents(); object[i-1][1]=sheet.getCell(1, i).getContents(); System.out.print(sheet.getCell(0, i).getContents() + "\t"); System.out.print(sheet.getCell(1, i).getContents() + "\t"); System.out.println(); i++; } return Arrays.asList(object); } @Test public void testSquareOff(){ Assert.assertEquals(resultExpected, MathUtils.square(input)); } } 

有没有人能指引我正确的方向?

提前致谢

方法sheet.getCell(column, row).getContents()返回一个String,但是你的构造函数需要int

您可以修改data()方法中的两行:

 object[i-1][0] = Integer.valueOf(sheet.getCell(0, i).getContents()); object[i-1][1] = Integer.valueOf(sheet.getCell(1, i).getContents());