使用 Apache POI 的电子表格 JUnit 测试

标签 junit apache-poi

我正在尝试验证使用 Apache POI 创建的电子表格中的日期。当我执行 System.out.print 时,Date 变量和单元格内容相同。为什么测试失败?

@Test
public void testSpreadsheetCont() throws Exception {
    Date date = new Date();
    boolean success = false;
    FileInputStream fileInputStream = new FileInputStream("File Location.xls");
    HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
    HSSFSheet worksheet = workbook.getSheetAt(0);
    HSSFRow row1 = worksheet.getRow(2);
    HSSFCell cell0 = row1.getCell(0);
    System.out.println(cell0.getDateCellValue());
    System.out.println(date);

    if (cell0.getDateCellValue() == date) {
        success = true;
    } else {
        success = false;
    }
    Assert.assertTrue(success);
}

我认为错误是我在生成电子表格的类中格式化日期的方式。它的格式为 ("mm/dd/yyyy hh:mm")。但是当我将日期变量格式化为 ("mm/dd/yyyy hh:mm") 并尝试比较这两个元素时,它是不成功的。

Date date = new Date();
SimpleDateFormat ft = new SimpleDateFormat("mm/dd/yyyy hh:mm");
if (cell0.getDateCellValue().toString() == ft.format(date)) {
    success = true;
} else {
    success = false;
}

最佳答案

使用以下进行比较。也许这就是原因。

if(cell0.getDateCellValue().compareTo(date)==0){
    success = true;
    }else{
        success = false;
    }

关于使用 Apache POI 的电子表格 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658254/

相关文章:

java - Selenium 2 WebDriver NoClassDefFoundErrorS

java - 使用 MessageDigest SHA-256 的 POI XSSF/XLSX 散列不确定性

excel - 一个Excel工作簿中可以创建多少个工作表用于自动化测试?

java - Ant junit批量测试

java - Mockito 未返回预期值

java - 使用 java Apache POI 将数据库数据存储到 Excel 工作表中

java - 如何使用 apache poi 获取 pptx 幻灯片注释文本?

java - 在 IDE 外部执行时出现 NoClassDefFoundError: org/docx4j/openpackaging/exceptions/Docx4JException

html - 以 html 格式邮寄 junit 报告

java - 如何使用JUNIT测试ENUM