JAVA: JUNIT 测试从文件方法 class 数组读取
JAVA: JUNIT testing reading from file method class arrays
如何测试 class 类型的数组?我已经完成研究并理解 assertArray lang 但不确定当数组不是字符串时如何做
@Test
public void testReadProductDataFile() throws Exception {
System.out.println("readProductDataFile");
File inputFile = new File("ProductData.txt");
Product[] expResult = null;
Product[] result = InputFileData.readProductDataFile(inputFile);
assertArrayEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
此方法本身从文本文件中读取信息,将其拆分为 Product 数组。
已完成
public void testReadProductDataFile() throws Exception {
System.out.println("readProductDataFile");
File inputFile = new File("ProductData.txt");
Product[] expResult = { new Product("PA/1234",153),new Product("PV/5732",25),
new Product("Au/9271",172),new Product("DT/9489",95)
,new Product("HY/7195",235),new Product("ZR/7413",159)
,new Product("bT/4674",725),new Product("LR/4992",629)
,new Product("Xk/8536",112),new Product("kD/9767",559)};
Product[] result = InputFileData.readProductDataFile(inputFile);
assertArrayEquals(expResult, result);
}
出现这个错误
arrays first differed at element [0]; expected: supplierproject.Product<Product Code: PA/1234
Price Per Unit: 153.0
> but was: supplierproject.Product<Product Code: PA/1234
Price Per Unit: 153.0
>
junit.framework.AssertionFailedError
at supplierproject.InputFileDataTest.testReadProductDataFile(InputFileDataTest.java:55)
我看不出区别,它不允许我像有时那样查看区别..
数组是字符串类型还是任何其他类型都没有区别。您的代码有效。
除了expResult
应该被初始化,例如
Product[] expResult = { new Product("product 1"), new Product("product 2") };
和 ProductData.txt
文件应包含将被读取到类似产品的数据(assertArrayEquals
使用 equals()
方法比较项目)。
如何测试 class 类型的数组?我已经完成研究并理解 assertArray lang 但不确定当数组不是字符串时如何做
@Test
public void testReadProductDataFile() throws Exception {
System.out.println("readProductDataFile");
File inputFile = new File("ProductData.txt");
Product[] expResult = null;
Product[] result = InputFileData.readProductDataFile(inputFile);
assertArrayEquals(expResult, result);
// TODO review the generated test code and remove the default call to fail.
fail("The test case is a prototype.");
}
此方法本身从文本文件中读取信息,将其拆分为 Product 数组。 已完成
public void testReadProductDataFile() throws Exception {
System.out.println("readProductDataFile");
File inputFile = new File("ProductData.txt");
Product[] expResult = { new Product("PA/1234",153),new Product("PV/5732",25),
new Product("Au/9271",172),new Product("DT/9489",95)
,new Product("HY/7195",235),new Product("ZR/7413",159)
,new Product("bT/4674",725),new Product("LR/4992",629)
,new Product("Xk/8536",112),new Product("kD/9767",559)};
Product[] result = InputFileData.readProductDataFile(inputFile);
assertArrayEquals(expResult, result);
}
出现这个错误
arrays first differed at element [0]; expected: supplierproject.Product<Product Code: PA/1234
Price Per Unit: 153.0
> but was: supplierproject.Product<Product Code: PA/1234
Price Per Unit: 153.0
>
junit.framework.AssertionFailedError
at supplierproject.InputFileDataTest.testReadProductDataFile(InputFileDataTest.java:55)
我看不出区别,它不允许我像有时那样查看区别..
数组是字符串类型还是任何其他类型都没有区别。您的代码有效。
除了expResult
应该被初始化,例如
Product[] expResult = { new Product("product 1"), new Product("product 2") };
和 ProductData.txt
文件应包含将被读取到类似产品的数据(assertArrayEquals
使用 equals()
方法比较项目)。