まず第一に、最上位の単体テストパッケージを呼び出すことはできませんtest
。これはPythonの単体テストの名前であるため、インストールされた構成でテストを実行することはできません。Pythonの設定方法によっては、Python独自のテストではなく独自のテストをインポートすることになります。
第二に:sys.path
広大で微妙な謎です。
trial
簡単な開始ハックとしてファイルとディレクトリでの実行をサポートしますが、パス名の使用について完全に正しいとは限りません。正しいことは、Pythonモジュールとしてインポートして検査できるモジュール(またはパッケージ)名を試用することです。
したがって、ディレクトリ構造が次のようになっている場合:
~/Projects/MyProject/
~/Projects/MyProject/myproject/
~/Projects/MyProject/myproject/__init__.py
~/Projects/MyProject/myproject/stuff.py
~/Projects/MyProject/myproject/test/
~/Projects/MyProject/myproject/test/__init__.py
~/Projects/MyProject/myproject/test/test_stuff.py
次に、次のようにテストを実行する必要があります。
PYTHONPATH=$HOME/Projects/MyProject (cd /tmp; trial myproject.test)
つまり、プロジェクトのディレクトリ内からテストを実行しないでください。これにより、ソースコード全体に_trial_tempディレクトリがダンプされ、「コードのロード元」と「現在のディレクトリ」が混同され、通常、後で解きほぐすのが難しいさまざまなものが混乱します。
したがって、 Combinator、setup.py development 、virtualenv 、または単にジャンクをにダンプするなど、選択したパス管理ツールを使用してPYTHONPATH
セットアップし、一時的な場所から、一意の名前のトップレベルPythonパッケージで実行します。 、そしてすべてがうまくいくはずです。PATH
~/.bashrc
trial