class MyClassTest(TestCase):
def setUp(self):
Someclass.objects.create()
def test_first_test(self):
# Here, Someclass.objects.all()[0].pk -> returns 1
def test_second_test(self):
# Here, Someclass.objects.all()[0].pk -> returns 2 !!! (bad !)
SetUp()
メソッドでは、データは各テスト間でクリアされ、再作成されることになっています。では、なぜ id はあるテストから別のテストへと増加するのでしょうか? それは私には明らかではありません。
この方法では、ID に基づいてテストを作成することはできません (ID は他のテストに依存しているため)。そのため、常に結果として取得したいと考えてい1
ます。
データ自体には問題がないことに注意してください。古いデータは、あるテストから別のテストにクリアされます。問題はIDに関するものです。
問題が Django ではなくデータベースに関連しているユニット テスト間で Django object ids incrementを読みましたが、Django にそれを変更するトリックはありますか?