vscode-python запускает pytest в неправильном каталоге, так что относительные пути путаются - PullRequest
0 голосов
/ 26 апреля 2019

С pytest и vscode-python я хотел бы запустить тесты, которые ранее были реализованы с помощью инфраструктуры unittest.

Поэтому я успешно выполнил тесты с использованием pytest в соответствующем каталоге tests.

pytest

Я также настроил vscode-python и успешно протестировал почти все тесты.

Однако те тесты, которые загружают данные из подкаталога tests/data, не выполняются, потому что vscode-python, кажется, запускает pytestиз каталога, отличного от каталога тестов tests.

abc/
|-- tests/
    |-- test_function.py
    |-- data/

Как настроить vscode-python, чтобы все файлы данных из уже выполненных тестов были успешно прочитаны?

1 Ответ

0 голосов
/ 09 июня 2019

Перейдите в «Настройки» (в VS Code 1.35.0 на macOS):

Меню «Код» >> «Настройки» >> «Настройки»

В панели «Настройки» найдите «python.testing.cwd».

В документах говорится, что «cwd» Указывает необязательный рабочий каталог для модульных тестов.

Для вашегоЧтобы создать относительный путь для «python.testing.cwd», можно было бы:

  1. открыть один из файлов данных в «abc / tests / data /» в VSРедактор кода
  2. щелкните правой кнопкой мыши вкладку открытого файла в редакторе и выберите «Копировать относительный путь» в раскрывающемся меню
  3. вставьте этот относительный путь в конфигурацию «python.testing.cwd».поле (и отредактируйте его перед сохранением)

В качестве альтернативы, вы можете захотеть исследовать указание пути, используя одну или несколько VS переменных кода .

Ссылки:

  1. [https://code.visualstudio.com/docs/python/unit-testing#_test-configuration-settings]
  2. [https://code.visualstudio.com/docs/editor/variables-reference]
...