Найти тему

Файлы в Intellij IDEA JAVA. Часть 3.

Оглавление

Мы уже научились заменять нужные слова в файле и заменять нужные переменные, не изменяя сам файл. Сегодня рассмотрим ситуацию, когда нам нужно восстановить первоначальные значения в файле.

Для примера мы будет использовать - https://restful-booker.herokuapp.com/

  • ✅ Создание файла
  • ✅ Подстановка значений из Файла с длинным текстом
  • ✅ Подстановка значений в Файл перед тестом
  • ✅ Подстановка значений с записью изменений в Файл
  • ♻ Возвращение значений в файле
  • ♻ Замена после упавшего теста

Возвращение значений в файле

Казалось бы, самый явный вариант как это можно сделать - это использовать наш метод замены слов, в конце теста

-2
-3

Как видим, тест прошёл успешно и заменил нам нужное слово

-4

В нашем файле все значения вернулись на свои места. Однако такой подход применим только в контролируемой среде. В реальных условиях тест может завершиться неудачно, а может пройти успешно. Мы не можем полагаться на удачу, так как нам необходимо будет использовать этот файл в другом тесте. Поэтому нам нужен надёжный способ восстановления исходного состояния файла при любых обстоятельствах.

Замена после упавшего теста

Допустим ошибку в тесте, чтобы код не дошёл до нашей обратной замены

-5

Наш тест упал и файл не вернулся в исходное состояние

-6
-7

Для этого вспомним способ, который был рассмотрен в статье

Мы использовали TestListener, который выполнял команды в зависимости от того успешный тест или же нет.

-8

Можем воспользоваться уже имеющимся способом или создать новый. В нашем примере используется API. Допустим, новый класс будет отвечать за результаты тестов при работе с API. Этот класс будет выглядеть так:

-9

Из за того, что мы не можем переопределить наш Abstract класс, выходит немного усложнённый код. Можем его упростить, нам нужен метод ReplaceWordMethod, который доступен в любом классе унаследованный от Abstract.

Теперь выглядит проще и понятней

-10

Не забываем добавить аннотацию во все классы с тестами, где хоти использовать данный функционал.

-11

Запускаем наш сломанный тест. Как видим файл изменился для отправки, но несмотря на у павший тест, наш файл вернулся в предыдущее состояние.

Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!

Обучение тестированию