Я не могу получить 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 проблемы), не найдя решения.
Что мне здесь не хватает?