Як налаштувати відлагодження виключень pytest в PyCharm?

Як налаштувати відлагодження виключень pytest в PyCharm?

6 Березня 2024 в 22:24 42

У PyCharm є дуже корисна функція, яка дозволяє зупиняти виконання програми в тому місці, де виникає виключення, щоб ви могли дослідити його причину. Проте, при виконанні тестів pytest через PyCharm ця функція працює не так, як ми очікуємо.

Коли тест, написаний у форматі pytest, видає виключення, PyCharm показує лише повідомлення про помилку в консолі, але не спрацьовує зупинка виконання програми. Це може значно ускладнити відлагодження, особливо коли виникає багато виключень у великих тестових наборах.

Звичайно, pytest має власний механізм обробки виключень, який дозволяє виводити інформацію про помилки, але використовувати його в поєднанні з функцією зупинки виконання програми у PyCharm було б набагато зручніше. Чи є спосіб налаштувати pytest таким чином, щоб при виникненні виключення він спрацьовував як звичайний Python скрипт, зупиняючи виконання програми та дозволяючи відлагодження в PyCharm?

Щоб створити або відредагувати файл pytest.ini або pytest.cfg, додайте до нього наступний вміст:

Цей параметр дозволяє автоматично викликати зупинку виконання програми у PyCharm у разі виникнення виключення під час виконання тесту. Після цього ви зможете дослідити стек викликів та інші дані про помилку прямо в середовищі розробки, що значно спростить відлагодження тестів.

Зверніть увагу, що при використанні цього параметру ви можете бачити додатковий вихід в консолі pytest, пов’язаний з викликом зупинки виконання програми.