Как запустить тестовый пример Junit для FileWriter?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как запустить тестовый пример Junit для FileWriter?

Сообщение Anonymous »

Приведенный ниже код предназначен для записи содержимого в файл.

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

          public String saveSecretToFile() {
File file = new File("test.txt");
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
writer.write(secretValue);//secretValue is the content
} catch (IOException e) {
LOGGER.error("Error writing to file: {}", e.getMessage());
}
}
Блок catch не рассматривается в тестовом примере JUnit.

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

    @InjectMocks
private MyHelper myHelper;

try (MockedStatic mockedStatic = Mockito.mockStatic(FileOutputStream.class)) {
FileWriter mockFile = mock(FileWriter.class);
OutputStream mockFileWriter = Mockito.spy(new FileOutputStream(String.valueOf(mockFile)));

doThrow(new IOException("IO error")).when(mockFileWriter).write(anyString().getBytes());

IOException thrown = assertThrows(IOException.class, () -> myHelper.saveToFile("secretName"));

}
Я читал, что издевательство над BufferedWriter не сработает, поскольку следует издеваться над внутренним OutputStream FileWriter. Ожидаемый результат в единичном случае — создание исключения. Но результат отображается как java.lang.AssertionError: ожидалось, что будет создано исключение java.io.IOException, но ничего не было создано

Подробнее здесь: https://stackoverflow.com/questions/790 ... filewriter
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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