Написание модульного теста для сервлета, читающего файл Excel, не удается в AEM 6.5?JAVA

Программисты JAVA общаются здесь
Anonymous
Написание модульного теста для сервлета, читающего файл Excel, не удается в AEM 6.5?

Сообщение Anonymous »

Я пишу модульный тест для сервлета, который использует файл Excel в качестве входного потока, используя библиотеку poi

Код: Выделить всё

org.apache.poi
Это сервлет:

Код: Выделить всё

protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws IOException {
PrintWriter out = response.getWriter();
RequestParameter xlsxFile = request.getRequestParameter("xlsxfile");

final InputStream inputStream = xlsxFile.getInputStream();

try (inputStream) {
Workbook workbook = new XSSFWorkbook(inputStream); // Use XSSFWorkbook for xlsx files

json = extractData(workbook);

} catch (IOException e) {
throw new RuntimeException("Could not parse XLSX file", e);
}

Это модульный тест:

Код: Выделить всё

@test
void testExcelFileImport() throws IOException {
InputStream inputStream = MyServlet.class.getResourceAsStream("/component/tools/excel-import/import/excel-data.xlsx");
byte[] bytes = IOUtils.toByteArray(inputStream);

context.request().addRequestParameter("xlsxfile", bytes, "xlsxfile", "excel-file.xlsx");

MockSlingHttpServletRequest request = context.request();
MockSlingHttpServletResponse response = context.response();

underTest.doPost(request, response);
assertEquals("Success: Excel correctly imported as JSON", response.toString())
}

Здесь модульный тест не выполнен
Изображение

Обновление медиа

Код: Выделить всё

Workbook workbook = new XSSFWorkbook(inputStream)
Можете ли вы подсказать, как написать этот модульный тест?

Подробнее здесь: https://stackoverflow.com/questions/784 ... on-aem-6-5

Вернуться в «JAVA»