3

コードを次のように整理しました。

base_project_dir/src /tests /test1.py /test2.py

test1.py と test2.py には unittest.TestCase を拡張するクラスがあります

Python API docによると、実行できるはずです

python -m unittest はベースディレクトリからテストし、すべてのテストを実行します。しかし、そうすることで、0 個のテストが見つかることがわかります。だから私は追加しました from test1 import * from test2 import *

の中へtests/__init__.py

上記のコマンドが機能するようになりました。しかし、個々のテストを実行したい場合は、すべてのテストを強制的に実行するモジュールinitをソースします。

これを整理する正しい方法は何ですか?

ありがとうヤン

4

1 に答える 1

1

メインプロジェクトディレクトリでこれを試してください:

python -m unittest discover -v

この方法では、相対インポートの場所を変更しません。これを行うpython -m unittest testsと、最初にこのディレクトリに切り替わり、プロジェクト コードをインポートできなくなります。

于 2012-10-01T22:57:05.870 に答える