Django:防止在每次测试后自动删除模型数据

时间:2017-06-09 17:38:49

标签: django django-testing

我已经简化了我的代码以在此处显示效果。

class AccountTests(APITestCase):
    def test_post_account(self):
        """
        Ensure we can create a new account object
        """

        # code that adds one user object and one signup confirmation object
        ...
        ...

        # test we have one user and one confirmation code
        # THIS PASSES OK.   
        self.assertEqual(User.objects.count(), 1)
        self.assertEqual(SignupConfirmationCode.objects.count(), )


    def test_post_confirmation_code(self):
        """
        test sending confirmation code for an account just created
        """
        # THIS FAILS
        self.assertEqual(User.objects.count(), 1)
        self.assertEqual(SignupConfirmationCode.objects.count(), 1)

我知道test_post_account先跑,然后通过OK。 test_post_confirmation_code正在运行第二个并且由UserSignupConfirmataionCode"神奇地"在两种测试方法之间失去内容。

如何在第一次测试结束和第二次测试开始之间防止数据消失?

1 个答案:

答案 0 :(得分:1)

你没有。您可以设置测试,以便他们分别创建所需的数据。

第一次测试中设置用户和确认的代码应该提取到setUp方法中,该方法在每次测试之前运行。