【发布时间】:2018-09-12 08:41:50
【问题描述】:
我目前正在尝试为应用程序编写我的第一个 Django 规范。但是,每次我运行测试时,我都会收到 IntegrityError: UNIQUE constraint failed: auth_user.username,因为我在上次运行测试时创建的用户现在存在于数据库中。
我的印象是 TestCase 将测试代码包含在数据库事务中,以便测试期间创建的所有数据在完成时回滚?我在这里做错了什么?
from django.test import TestCase
from django.contrib.auth.models import User
from basic.models import SavedModels
# Create your tests here.
class SavedModelsTestCase(TestCase):
User.objects.create(username="user_001",
password="useruser",
first_name="Test",
last_name="User",
email="test_user@test.com"
)
user = User.objects.filter(username="user_001")
saved_model = SavedModels.objects.create(name="Test Model",
description="A model",
user=user
)
def test_saved_models(self):
saved_model = create_saved_model()
self.assertTrue(isinstance(saved_model, SavedModels))
self.assertEqual(saved_model.name, "Test Model")
self.assertEqual(saved_model.description, "A model")
self.assertEqual(saved_model.user, user)
【问题讨论】:
标签: python django django-tests