私は喜んで、私が取り組んでいる API のモジュールを作成してテストし、次のコマンドを使用していました。
python -m unittest myAPI.tests.APITests.test_mod_to_test
予想どおり、私のテストtests.py
は module にありますmyAPI
。api.py
これはうまく機能しており、テストしている関数を保持するファイル内のコードをリファクタリングする必要があることがわかりました。変更する必要があるものを変更し、コマンド ラインに戻り、入力を節約するためにキーボードを押し上げてまったく同じコマンドを実行しました。このエラーが発生しました:
AttributeError: 'module' object has no attribute 'tests'
ディレクトリまたはtests.py
. ファイルを移動したり、コマンドを変更したりしませんでした。次tests.py
を使用して、Python シェルにファイルをインポートできます。
from myAPI import tests
この後、次のように入力します。
print tests
そして出力は期待されるものです:
<module 'myAPI.tests' from '/path/to/myAPI/tests.pyc'>
実際には何もインストールされていない virtualenv で python 2.7 を使用しています。アプリはdjango 1.2.1アプリケーション用ですが、テスト中にdjangoに触れていないため関係ありません(環境にインストールされている場合を除く)。
これは私を困惑させており、ディレクトリまたはtests.pyの一部を変更せずに、うまく機能していたのがうまくいかなかった理由を理解しています. どんな助けでも大歓迎です。