Модульне тестування для python в visual studio, microsoft docs

В цій статті

Модульні тести - це сегменти коду, які перевіряють роботу інших частин коду в додатку, наприклад ізольованих функцій, класів і т. Д. Якщо додаток успішно проходить всі модульні тести, то ви щонайменше впевнені, що все низькорівневі функції працюють правильно.

В Python модульне тестування широко використовується для перевірки скриптів в процесі розробки. Підтримка Python в Visual Studio включає виявлення, виконання та налагодження модульних тестів безпосередньо в контексті процесу розробки, а значить, вам не потрібно виконувати ці тести окремо.

За угодою Visual Studio вважає тестами все методи, імена яких починаються з test. Це можна продемонструвати на наступному прикладі:

Відкрийте Проект Python. завантажений в Visual Studio, клацніть його правою кнопкою миші, виберіть Додати> Новий елемент. . а потім виберіть Модульний тест Python і натисніть Додати.

Цей процес створює файл test1.py. код якого при прямому виклику скрипта імпортує стандартний модуль unittest. похідний від тестового класу unittest.TestCase. і викликає метод unittest.main ():

Якщо потрібно, збережіть цей файл, а потім відкрийте оглядач тестів, послідовно вибравши Тест> Вікна> Оглядач тестів.

Оглядач тестів шукає тести в проекті і відображає результати, як показано нижче. Двічі клацніть тест, щоб відкрити його вихідний файл.

Модульне тестування для python в visual studio, microsoft docs

Коли тестів в проекті буде більше, їх можна впорядкувати в браузері тестів, використовуючи команду "групувати" на панелі інструментів:

Модульне тестування для python в visual studio, microsoft docs

Також ви можете ввести текст в поле пошуку, щоб відфільтрувати тести по іменах.

Додаткові відомості про модуль unittest і створенні тестів можна отримати в документації по Python 2.7 або в документації по Python 3.4 (python.org).

виконання тестів

У браузері тестів можна запустити тести декількома способами.

  • Команда Запустити всі явно виконує всі тести зі списку (з урахуванням фільтрів).
  • Команда меню Запуск. дозволяє одночасно виконати всі тести, які завершилися успішно, завершилися невдало або ще не виконувалися.
  • Також можна вибрати один або кілька тестів, клацнути їх правою кнопкою миші і вибрати команду Запустити вибрані тести.

Тести виконуються у фоновому режимі, а оглядач тестів оновлює їх стан у міру завершення.

Успішно виконані тести позначаються зеленим прапорцем, і для них вказується витрачений час:

Модульне тестування для python в visual studio, microsoft docs

Невдалі тести позначаються червоним хрестом і доповнюються посиланням Output (Вивід), яка дозволяє вивчити вихідні дані на консолі і вихідні дані unittest. отримані за результатами цього тесту:

Модульне тестування для python в visual studio, microsoft docs

Модульне тестування для python в visual studio, microsoft docs

налагодження тестів

Щоб почати налагодження, встановіть в коді початкову точку зупину, а потім клацніть в браузері тестів правою кнопкою миші цей тест (або виділений набір тестів) і виберіть Налагодити вибрані тести. Visual Studio запускає відладчик Python, як для звичайного коду програми.

Модульне тестування для python в visual studio, microsoft docs

Ви також можете використовувати команди Аналіз покриття коду для обраних тестів і профільованого тест. якщо їх підтримує використовувана версія Visual Studio (див. розділ Матриця можливостей).

відомі проблеми

  • Коли ви запускаєте налагодження, Visual Studio нібито запускає виконання, потім зупиняє і запускає знову. Це очікуване поведінка.
  • При налагодженні декількох тестів вони виконуються незалежно один від одного, і сеанс налагодження переривається.
  • Visual Studio час від часу не вдається запустити тест в режимі налагодження. Зазвичай повторна спроба виконується успішно.
  • Під час налагодження є ймовірність при виконанні кроку перейти з тіста в реалізацію класу unittest. Зазвичай в такому випадку на наступних кроці програма виконується до кінця і налагодження завершується.