tests
まず、が単なるディレクトリではなく、その中に を作成して Python パッケージであることを確認する必要があります__init__.py
。
tests
また、パッケージ内のモジュールに名前を付ける必要がありますtest_something.py
。
ほとんどのテスト ランナーは、テスト検出の一環として、 という名前のモジュールまたはパッケージを探します。そのパッケージ内のモジュールは で始まり、(サブクラスの)テスト メソッドのメソッド名が でtests
始まることを期待します。test_
TestCase
test_
unittestモジュールは、テスト ランナーを次のように説明します。
テストランナーは、テストの実行を調整し、結果をユーザーに提供するコンポーネントです。ランナーは、グラフィカル インターフェイス、テキスト インターフェイスを使用するか、テストの実行結果を示す特別な値を返すことができます。
さまざまなテスト フレームワークが多数存在するため、テスト ランナーが存在します。ほとんどの場合、なんらかの方法で拡張し、サブクラスunittest
を探します。unittest.TestCase
テストの実行中に、さまざまな種類のテスト検出を行ったり、結果を別の方法で提示したり、コード カバレッジを収集したりすることがあります。
相対インポートについては、これらを避けるようにしてください。コードを移動するのが難しくなり (お気づきのとおり)、インポートの可読性が低下します (どのコードがどこからインポートされるのか?)。使用するだけfrom myproject.views import my_view
- 物事がどこにあるかがより明確になります