#python #debugging #visual-studio-code #python-unittest
#python #отладка #visual-studio-code #python-unittest
Вопрос:
Я хотел бы подключить отладчик во время запуска модуля unittest. Кажется, я не могу найти никакой информации об этом через Google. Есть ли у кого-нибудь конфигурация, которая позволяла бы выполнять отладку в программе тестирования python? Другая проблема заключается в том, что я использую аргумент discover для соответствия моему тестовому шаблону. Я не возражаю против отладки отдельных файлов, но было бы неплохо просто запустить отладчик с конфигурацией, с которой мне не нужно возиться всякий раз, когда мне нужно перейти на другой файл.
python -m unittest discover -p "*_test.py"
Я попытался добавить эту конфигурацию
{
"name": "Python: Unittest",
"type": "python",
"request": "launch",
"module": "unittest",
"args": ["discover", "-p", "'*_test.py'"]
},
но я получаю no matches found: '*_test.py'
сообщение об ошибке…
у кого-нибудь есть идеи? другой способ отладки в unittest runner?
Комментарии:
1. вы сказали, в каком каталоге искать тестовые файлы,
Debug Test
не работает ли Codelens2. Да, пробовал даже использовать один тест в корне для простоты. Я перепробовал кучу разных способов… я не уверен, что
Debug Test
означает codelens?3. Если обнаружение теста работает, вы видите строку Codelens над тестом, см. Документ python о тестировании, обнаружение теста указано с параметром
python.testing.unittestArgs
, КОТОРОГО НЕТ в launch.json
Ответ №1:
1. Нажмите Ctrl Shift P, чтобы открыть Command Platte;
2.Выберите Python: Discover Tests, появится уведомление, позволяющее включить и настроить тестовую среду:
3.Выберите Unittest, затем вы можете выбрать опцию для идентификации тестовых файлов:
Прежде всего, это написано в workspace settings.json:
Таким образом, вы можете установить правило идентификации с помощью параметра:
"python.testing.unittestArgs":[]
Об отладке всех тестов команды Python: Debug All Tests и Python: Debug Test Method (как на палитре команд, так и в меню строки состояния) запускают отладчик для всех тестов и одного метода тестирования соответственно.
Более подробную информацию см. в разделе Тесты тестирования и отладки.