Как заставить тестовый обозреватель работать на Python VS Code?

Я недавно установил VSCode, и это расширение Python. Все идет отлично, но тестовый проводник не будет заполняться тестами. Я запустил обнаружение тестов и даже могу запускать тесты, но проводник не будет заполняться какой-либо информацией.

На скриншоте выше мы можем видеть

  1. пустой тестовый проводник
  2. мои настройки Python vscode
  3. вывод тестового открытия

Что тут происходит?

ПРИМЕЧАНИЕ: проблема та, которая ожидается, одна пробная версия пропускается, если только определенный флаг не передан в pytest, и это вызывает эту "проблему

3 ответа

  1. Вам необходимо настроить тестовую среду (и программу запуска). Нажмитеcntrl + shift + p и ищите: Python: Configure Tests (Assuming you already have Python extension installed).
  2. Затем консоль покажет вам несколько вариантов (unittest, pytest, нос...), выберите один из них.
  3. После этого консоль спросит у вас каталог, в котором находится тест, выберите свой.

После этой настройки вы сможете увидеть весь свой тест в обозревателе тестов.

Я думаю, что это все еще находится в разработке, официально поддерживаются только Pytest и Unittest, но VSCode предложил переменную для поддержки Poetry.

Вот конфигурации, которые сработали для меня:

      {
  "python.testing.cwd": ".",
  "python.poetryPath": ".venv/bin/poetry",
  "python.testing.pytestEnabled": true,
  "python.testing.pytestPath": ".venv/bin/pytest",
  "python.analysis.typeCheckingMode": "basic",
  "python.testing.pytestArgs": [
    "${workspaceFolder}",
    "--rootdir=${workspaceFolder}"
  ],
  "python.testing.unittestEnabled": false,
}

Если вам дополнительно нужно использовать переменные окружения, задайте их в файле .env (лучше бы .env.test, но я не разобрался).

Оказывается, что-то было неправильно настроено. Код VS в конечном итоге автоматически побудил меня изменить настройки моего модульного теста в settings.json из python.unitTest.<stuff> в python.testing.<stuff> который исправил тестовый проводник.

Другие вопросы по тегам