В цій статті
Модульні тести - це сегменти коду, які перевіряють роботу інших частин коду в додатку, наприклад ізольованих функцій, класів і т. Д. Якщо додаток успішно проходить всі модульні тести, то ви щонайменше впевнені, що все низькорівневі функції працюють правильно.
В Python модульне тестування широко використовується для перевірки скриптів в процесі розробки. Підтримка Python в Visual Studio включає виявлення, виконання та налагодження модульних тестів безпосередньо в контексті процесу розробки, а значить, вам не потрібно виконувати ці тести окремо.
За угодою Visual Studio вважає тестами все методи, імена яких починаються з test. Це можна продемонструвати на наступному прикладі:
Відкрийте Проект Python. завантажений в Visual Studio, клацніть його правою кнопкою миші, виберіть Додати> Новий елемент. . а потім виберіть Модульний тест Python і натисніть Додати.
Цей процес створює файл test1.py. код якого при прямому виклику скрипта імпортує стандартний модуль unittest. похідний від тестового класу unittest.TestCase. і викликає метод unittest.main ():
Якщо потрібно, збережіть цей файл, а потім відкрийте оглядач тестів, послідовно вибравши Тест> Вікна> Оглядач тестів.
Оглядач тестів шукає тести в проекті і відображає результати, як показано нижче. Двічі клацніть тест, щоб відкрити його вихідний файл.

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

Також ви можете ввести текст в поле пошуку, щоб відфільтрувати тести по іменах.
Додаткові відомості про модуль unittest і створенні тестів можна отримати в документації по Python 2.7 або в документації по Python 3.4 (python.org).
виконання тестів
У браузері тестів можна запустити тести декількома способами.
- Команда Запустити всі явно виконує всі тести зі списку (з урахуванням фільтрів).
- Команда меню Запуск. дозволяє одночасно виконати всі тести, які завершилися успішно, завершилися невдало або ще не виконувалися.
- Також можна вибрати один або кілька тестів, клацнути їх правою кнопкою миші і вибрати команду Запустити вибрані тести.
Тести виконуються у фоновому режимі, а оглядач тестів оновлює їх стан у міру завершення.
Успішно виконані тести позначаються зеленим прапорцем, і для них вказується витрачений час:

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


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

Ви також можете використовувати команди Аналіз покриття коду для обраних тестів і профільованого тест. якщо їх підтримує використовувана версія Visual Studio (див. розділ Матриця можливостей).
відомі проблеми
- Коли ви запускаєте налагодження, Visual Studio нібито запускає виконання, потім зупиняє і запускає знову. Це очікуване поведінка.
- При налагодженні декількох тестів вони виконуються незалежно один від одного, і сеанс налагодження переривається.
- Visual Studio час від часу не вдається запустити тест в режимі налагодження. Зазвичай повторна спроба виконується успішно.
- Під час налагодження є ймовірність при виконанні кроку перейти з тіста в реалізацію класу unittest. Зазвичай в такому випадку на наступних кроці програма виконується до кінця і налагодження завершується.