Каковы правила ведения журналов INFO для интеграционных тестов?

Я написал серию интеграционных тестов для набора веб-приложений с использованием WebDriver, JUnit и Drone. Сейчас я занимаюсь удалением команд System.out.println, отображающих информацию о текущем состоянии интеграционного теста в ключевых точках, и хотел бы заменить некоторые из них таким образом, чтобы не снижать производительность так сильно, как System. выход.принтлн. В настоящее время я использую Logger и регистрирую ключевые точки с помощью Level.INFO, в то время как я регистрирую исключения, влияющие на тест, с параметрами Level.WARNING и level.SEVERE. Утверждения обрабатывают большую часть моих журналов.

Поскольку я неопытный программист и очень новичок в ведении журнала, мне было интересно следующее:

  • Существует ли набор соглашений для уровней ведения журнала (точнее, что регистрировать с уровнями INFO)?
  • Из моего описания понял ли я, как следует использовать регистраторы?

Ответ относительно этой ситуации (интеграционное тестирование) был бы очень признателен, поскольку я считаю, что знаю о регистрации в приложении.


person Community    schedule 04.08.2015    source источник


Ответы (1)


с integration tests необходимо учитывать использование detailed logging. Когда модульный тест терпит неудачу, очень легко понять, почему, поскольку область применения очень узкая. Когда интеграционный тест терпит неудачу, все не так просто.

Поскольку по определению интеграционные тесты основаны на множестве компонентов и определенном потоке данных, определить причину сбоя не всегда просто. [1]

И о каком уровне лога для какой информации:

Я надеюсь, что это слияние, если эти 2 хороших ответа помогут вам.

[1] : http://zeroturnaround.com/rebellabs/the-correct-way-to-use-integration-tests-in-your-build-process/

[2]: Stackoverflow: Какую информацию включать на каждом уровне журнала?< /а>

person Valentin Montmirail    schedule 04.08.2015
comment
Хорошо, спасибо. Таким образом, большинство моих проблем с ошибками/фатальными/критическими ошибками регистрируются ошибками утверждения JUnits. Если я правильно понимаю, я могу использовать уровень ведения журнала INFO, чтобы указывать такие вещи, как «Успешно выполнено i» со значениями j и k в ключевых точках моего теста? Для вещей, которые легко исправить, например, изменить путь/имя файла для загрузки, уместно ли регистрировать предупреждение, выдавать более общее исключение, а затем не проходить тест с более серьезным уровнем журнала? - person ; 04.08.2015
comment
Вы понимаете :) так это работает, однако это не настоящее соглашение, и ваш вопрос является открытым вопросом, журналы похожи на интерпретацию... :) Но скажем, если вы попытаетесь следовать этим правилам, ваши журналы сделают смысл :) - person Valentin Montmirail; 04.08.2015
comment
Я просмотрел статью о нулевом повороте, но не нашел ее слишком полезной. Спасибо за лаконичный ответ! - person ; 04.08.2015