Django でカスタム マネージャーのテスト スイートを作成しており、多数の項目をテストしたいと考えています。
基本的に、組み合わせの爆発により、数千のアイテムを作成する必要があります。
私が必要としているのは、データベースに多数の Django オブジェクトを作成し、それらを再作成するのではなく、テスト クラス全体で保持する方法です。
次のコードがあります。
class CustomConceptQuerySetTest(TestCase):
def setUp(self):
pass #make lots and lots of items.
def test_is_public(self):
pass # check if returned items in the object.public() queryset are actually "public"
def test_is_editable(self):
pass # check if returned items in the object.viewable() queryset are actually "viewable" only to certain users.
残念ながら、setUp
は各テストの前に呼び出されますが、内容はテスト中に変更されず、読み取りのみで、毎回同じです。
Django でデータベースを保持したり、テスト クラス内でロールバックや破壊を防止したりする方法はありますか?