Код VS не находит тесты для тестирования - PullRequest
0 голосов
/ 27 января 2019

У меня есть настройка PyTest в vs-коде, но ни один из тестов не найден, хотя запуск pytest из командной строки работает нормально.

(я разрабатываю приложение Django для Win10 с использованием MiniConda и виртуальной среды Python 3.6.6. Код VS полностью обновлен, и у меня установлены расширения Python и отладчик для Chrome)

Pytest.ini:

[pytest]
DJANGO_SETTINGS_MODULE = callsign.settings
python_files = tests.py test_*.py *_tests.py

Настройки рабочего пространства vs-кода:

{
    "folders": [
        {
            "path": "."
        }
    ],
    "settings": {
        "python.pythonPath": "C:\\ProgramData\\Miniconda3\\envs\\callsign\\python.exe",
        "python.unitTest.unittestEnabled": false,
        "python.unitTest.nosetestsEnabled": false,
        "python.unitTest.pyTestEnabled": true,
        "python.unitTest.pyTestArgs": ["--rootdir=.\\callsign", "--verbose"]
    }
}

Наконец, вывод из журнала тестирования Python внутри кода VS:

============================= test session starts =============================
platform win32 -- Python 3.6.6, pytest-4.1.1, py-1.7.0, pluggy-0.8.1
Django settings: callsign.settings (from ini file)
rootdir: c:\Users\benhe\Projects\CallsignCopilot\callsign, inifile: pytest.ini
plugins: django-3.4.5
collected 23 items
<Package c:\Users\benhe\Projects\CallsignCopilot\callsign\transcription>
  <Module test_utils.py>
    <Function test_n_digits>
    <Function test_n_alpha>
    <Function test_n_hex>
    <Function test_n_digits_in_range>
    <Function test_v1_audiofilename>
    <Function test_v2_audiofilename>
    <Function test_v1_bad_int_filename>
    <Function test_v1_bad_non_int_filename>
    <Function test_bad_format>
    <Function test_no_format>
    <Function test_too_many_segments>
    <Function test_too_few_segments>
    <Function test_good_v2_filename>
    <Function test_bad_year_v2_filename>
    <Function test_bad_month_v2_filename>
    <Function test_bad_day_v2_filename>
    <Function test_bad_date_v2_filename>
    <Function test_bad_short_serial_v2_filename>
    <Function test_bad_long_serial_v2_filename>
    <Function test_good_v3_filename>
    <Function test_good_lowercase_block_v3_filename>
    <Function test_bad_non_alpha_block_v3_filename>
    <Function test_real_filenames>

======================== no tests ran in 1.12 seconds =========================

Я пропускаю какие-либо шаги, чтобы получить vs-код для поиска тестов?

1 Ответ

0 голосов
/ 28 января 2019

РЕДАКТИРОВАТЬ : Я понизился до Pytest 4.0.1 после прочтения выпуск 3911 , и теперь Test Discovery работает.


Я тоже.Когда я сдуваю .pytest_cache и снова запускаю Python: Discover Unit Tests, я вижу, что недавно сгенерированный .pytest_cache/v/cache/nodeids содержит все тесты, но я все еще получаю диалоговое окно с жалобой на No tests discovered.

  • Python 3.7.2
  • macOS 10.13.6
  • VS Код 1.30.2
  • Расширение Python 2018.12.1
  • Pytest 4.1.0

.vscode/settings.json:

{
    "python.linting.enabled": false,
    "python.unitTest.unittestEnabled": false,
    "python.unitTest.nosetestsEnabled": false,
    "python.unitTest.pyTestEnabled": true,
    "python.pythonPath": "venv3/bin/python"
}

Тесты находятся в подкаталоге верхнего уровня, который называется test.Запуск pytest работает вручную.

...