VScode python unittest: тесты не обнаружены - PullRequest
0 голосов
/ 24 апреля 2020

Я не могу получить vscode для обнаружения тестов для простого проекта:

Структура папки:

~/Documents/My_proj$ tree
.
├── tests
│   ├── __init__.py
│   └── test_main.py
└── xyz
    ├── __init__.py
    ├── main.py
    ├── subpkg1
    │   ├── __init__.py
    │   └── modx.py
    └── subpkg2
        ├── __init__.py
        └── mody.py

main.py:

from xyz.subpkg1 import modx
from xyz.subpkg2 import mody

def a():
    return modx.x + mody.y

test_main.py:

from unittest import TestCase
from xyz import main

class TestA(TestCase):
    def test_a(self):
        self.assertEqual(main.a(), 30)

if __name__ == "__main__":
    unittest.main()

unittest config:

"python.unitTest.unittestArgs": [
    "-v",
    "-s",
    "./tests",
    "-p",
    "test_*.py"
]

Тесты можно успешно запустить из терминала с помощью python3 -m unittest discover; Тесты также работают нормально, когда я нажимаю значок зеленого треугольника «Выполнить все тесты».

Тем не менее, когда я нажимаю «Обнаружить тесты», vscode сообщает мне: «Тесты не обнаружены, проверьте параметры конфигурации для тестов».

Когда я удаляю from xyz import main из test_main.py, vscode, наконец, правильно определяет тест, но это нарушает тест.

Я прошел 10 похожих вопросов StackOverflow (и несколько github проблемы), не найдя решения.

Что мне здесь не хватает?

...