今日、私は同僚とdjangoアプリケーションでフィクスチャを管理する方法について話し合いました。誰もが満足できる解決策は見つからないので、ここでこの質問をします。
数十のアプリケーションが含まれる非常に大きなdjangoプロジェクトがあり、各アプリケーションにいくつかのTestClassesを含むtests.pyファイルがあるとします。これがある場合、これらすべてのアプリケーションのテストデータをどのように管理する必要がありますか?私の見方からすると、2つの異なる方法があります。
- アプリケーションtest_data.jsonファイルごとにすべてのデータを個別に保存します。このファイルには、このデータが使用されている場所に関係なく、アプリケーションのmodels.pyファイルで定義されているすべてのモデルのテストデータが含まれます(さまざまなアプリケーションのテストで使用できます)。
- すべてのテスト( auth.usersなど)でおそらく必要となるいくつかの一般的なデータをtest_data.jsonに保存し、各TestCaseのデータを個別のtest_case.jsonファイルに保存します。
私の見方では、2番目のアプローチの方がクリーンなようですが、誰かがこれらのアプローチの具体的な長所と短所を教えてくれるか、または他のアプローチを提案できるかどうか知りたいですか?