7
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 にそれを変更するトリックはありますか?

4

2 に答える 2