我已经简化了我的代码以在此处显示效果。
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
正在运行第二个并且由User
和SignupConfirmataionCode
"神奇地"在两种测试方法之间失去内容。
如何在第一次测试结束和第二次测试开始之间防止数据消失?
答案 0 :(得分:1)
你没有。您可以设置测试,以便他们分别创建所需的数据。
第一次测试中设置用户和确认的代码应该提取到setUp
方法中,该方法在每次测试之前运行。