Обнаружение теста VSCode pytest не выполнено - PullRequest
4 голосов
/ 24 апреля 2019

Обнаружение теста Pytest не выполнено.Пользовательский интерфейс сообщает:

Test discovery error, please check the configuration settings for the tests

Состояние окна вывода:

Test Discovery failed: 
Error: Traceback (most recent call last):
  File "C:\Users\mikep\.vscode\extensions\ms-python.python-2019.4.11987\pythonFiles\testing_tools\run_adapter.py", line 16, in <module>
    main(tool, cmd, subargs, toolargs)
  File "C:\Users\mikep\.vscode\extensions\ms-python.python-2019.4.11987\pythonFiles\testing_tools\adapter\__main__.py", line 90, in main
    parents, result = run(toolargs, **subargs)
  File "C:\Users\mikep\.vscode\extensions\ms-python.python-2019.4.11987\pythonFiles\testing_tools\adapter\pytest.py", line 43, in discover
    raise Exception('pytest discovery failed (exit code {})'.format(ec))
Exception: pytest discovery failed (exit code 3)

Вот мои настройки:

{
    "python.pythonPath": ".venv\\Scripts\\python.exe",
    "python.testing.pyTestArgs": [
        "tests"
    ],
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pyTestEnabled": true
}

Я могу запуститьуспешно протестировать из командной строки FWIW.

Ответы [ 4 ]

2 голосов
/ 26 апреля 2019

Похоже на ошибку в последней версии расширения VS Code Python. У меня была та же проблема, затем я понизил расширение Python до 2019.3.6558 , а затем оно снова работает. Поэтому мы должны перейти к нашему списку расширений VS Code, выбрать расширение Python и «Установить другую версию ...» в настройках этого расширения.

Я надеюсь, что это работает и для вас.

2 голосов
/ 25 апреля 2019

Это не полный ответ, так как я не знаю, почему это происходит, и может не относиться к вашей проблеме, в зависимости от того, как структурированы ваши тесты.

Я решил эту проблему, поставив __init__.pyфайл в моей папке с тестами

EG:


├───.vscode
│       settings.json
│
├───app
│       myapp.py
│
└───tests
        test_myapp.py
        __init__.py

это работало несколько дней назад без этого, но расширение python было недавно обновлено.Я не уверен, является ли это предполагаемым поведением или побочным эффектом того, как сейчас делаются открытия

https://github.com/Microsoft/vscode-python/blob/master/CHANGELOG.md
Use Python code for discovery of tests when using pytest. (#4795)

2 голосов
/ 25 апреля 2019

Я решил проблему, обновив pytest до последней версии: 4.4.1 с помощью «pip install --upgrade pytest». Я, очевидно, работал на старой версии 3.4.2

0 голосов
/ 25 апреля 2019

Глядя на https://docs.pytest.org/en/latest/usage.html#possible-exit-codes кажется, что сам pytest падает из-за какой-то внутренней ошибки.

...