私は、Visual Studio Code単体テストの自動実行 feature を機能させようとしています。私は最近Pythonプロジェクトのディレクトリ構造を以前は次のように変更しました:
myproje\
domain\
__init__.py
repositories\
tests\
__init__.py
guardstest.py
utils\
__init__.py
guards.py
web\
そして、単体テストのための私のセットアップは次のようでした:
"python.unitTest.unittestArgs": [
"-v",
"-s",
"tests",
"-p",
"*test*.py"
]
変更後のプロジェクトの構造は次のとおりです。
myprojet\
app\
controllers\
__init__.py
models\
__init__.py
entities.py
enums.py
tests\
res\
image1.png
image2.png
__init__.py
guardstest.py
utils\
__init__.py
guards.py
views\
static\
templnates\
__init__.py
uml\
その後、拡張機能は私のテストをもう検出しません。 '-s'パラメータを"./app/tests"
、".tests"
、"./tests"
、"app/tests"
、"/app/tests"
、"app.tests"
に変更しようとしましたが、失敗しました。
問題は、テストモジュール(from ..utils import guards
)。絶対インポート(from app.utils import guards
)そしてそれはすべて再び機能しました。
Virtualenvをアクティブ化します。
myproject
ディレクトリに移動して実行します。
python -m unittest app/tests/
これにより、app/tests/
でテストが実行されます。
詳細は documentation を参照してください。
編集:
cwdパラメータをプロジェクトのルート(myproject
ディレクトリ)に設定し、unittestArgsを変更する必要がありますapp/tests
でテストを検索します。
{
"python.unitTest.cwd": "path/to/myproject",
"python.unitTest.unittestArgs": [
"-v",
"-s", "app/tests",
"-p", "*test*.py"]
}