Может быть найдено здесь или искал Python
В разделе расширения.
Сначала вы должны использовать новую виртуальную среду. Используя Виртуальский
Инструмент командной строки вы можете использовать virtualenv -p3.9 .venv3.9
Определить новую среду Python 3.9. VSCode должен показать подсказку, спрашиваю вас, хотите ли вы переключиться в эту среду. Выберите «Да».
Для самого проекта я использую следующую структуру:
project_directory +-- my_module | +-- __init__.py | +-- __main__.py | +-- script.py +-- tests +-- __init__.py +-- test_script.py
Как структура проекта использует __init__.py
Файлы, которые нам нужно запустить проект в качестве модуля: python -m my_module
Отказ Вы также можете адаптировать конфигурации Debug VSCode к этому подходу на основе модуля:
В вщелке Run/Debug Нажмите «Добавить конфигурацию», затем вы можете добавить или редактировать записи, чтобы следовать, например, следующую структуру:
"configurations": [ { "name": "My Python Module", "type": "python", "request": "launch", "module": "my_module" } ]
Я использую Pтойцы для тестирования на VSCode. Обязательно настройте тесты для расширения Python и выбирать Pтойца, а также настроить Pтойца для использования вашей конвенции именования. Например, если вы называете свои тестовые файлы что-то вроде test_script.py
Где Сценарий
Часть указывает на то, что вы тестируете, вы должны выбрать формат тестового имени Тест _ *. PY
.
4.1 Определение теста
Я использую следующую структуру
import unittest from my_module.script import add_func class TestScript(unittest.TestCase): def test_add(self): result = add_func(1,2) self.assertEqual(result, 3)
4.2 Запуск тестов
Вы можете запустить тесты с терминала через pteest
Отказ В качестве альтернативы вы можете использовать значок расширения VSCode и запустить все тесты, нажав на символ запуска на соответствующей вкладке боковой панели.
4.3 Тестовое покрытие
Беги
Pтойские тесты
--cov = main_module
Включает покрытие дляmain_module.
- VCOV-отчет = XML
Создает файл Coverage.xml, который можно использовать с расширением VSCode охват желоба Отказ
- Я не передаю эти аргументы Ptyest через VSCode, как это, кажется, нарушает функцию отладки.
Я использую следующие в __main__.py
:
import cProfile from pstats import Stats, SortKey from my_module.script import add_func def run_script(): print(add_func(2,1)) if __name__ == '__main__': do_profiling = True if do_profiling: with cProfile.Profile() as pr: run_script() with open('profiling_stats.txt', 'w') as stream: stats = Stats(pr, stream=stream) stats.strip_dirs() stats.sort_stats('time') stats.dump_stats('.prof_stats') stats.print_stats() else: start_game()
Затем вы можете использовать инструмент, похожий на Снейкивиз Чтобы визуализировать результаты в вашем браузере, запущенным Snakeviz Program.prof
Отказ
- Todo Tree Организует ваши Тодос в аккуратной структуре дерева, Ключевые слова Toddo могут быть настроены
Оригинал: “https://dev.to/yamakanto/how-i-set-up-vscode-for-python-tests-coverage-profiling-2jf4”