多数の単体テスト ファイルがあり、そのすべてが django.test.TestCase クラスで構成されています。
__init__.py ファイルでテスト ファイルのインポートのコメントを解除/コメントするための小さなシェル スクリプトを自分で作成したので、指定したコマンド ライン引数に基づいて、特定のテスト ファイルからテストを実行できます。また、すべてのテスト ファイルのすべてのテストを一度に実行することもできます (回帰テストの目的で)。
いくつかの JSON フィクスチャを含むこの 1 つのテスト ファイルがあり、最初のテストでは、特定のモデル/テーブルに (JSON フィクスチャによって定義された) 3 つのレコードがあることを確認します。
ここに問題があります。このテスト ファイルを単独で実行すると、そのテストは見事に合格しますが、他のすべてのテストと一緒にテストを実行すると、前述の特定のテスト ケースが失敗します。
すべてのテストを実行すると、データベースはテーブル/モデルに 6 つのレコードがあると表示しますが、テスト ファイルを単独で実行するときのように、(フィクスチャから) 3 つだけ存在する必要があります。
また、そのテストファイルを他のいくつかのテストファイル(すべてではない)で実行しようとしましたが、成功しました。したがって、そうでないのは、すべてのテストファイルが実行されるときだけです。
私には、これは Django または PostgreSQL (私が使用している DB) のバグのように思えます。Django TestCases は、テスト クラスは言うまでもなく、各テスト メソッド間でデータベースを自動フラッシュ/リセットすることになっていないからです。