【发布时间】:2013-06-24 12:28:21
【问题描述】:
我已经编写了一个示例测试,我试图在不每次都创建新数据库的情况下运行它。
我第一次运行测试时一切正常(由于构建数据库需要一些时间):
> REUSE_DB=1 python manage.py test contacts
Ran 1 test in 0.251s
我第二次收到以下错误:
> REUSE_DB=1 python manage.py test contacts
nosetests --verbosity 1 contacts
AttributeError: 'DatabaseCreation' object has no attribute '_rollback_works'
为什么以及如何解决?谢谢。
我的测试:
class ExampleTestCase(TestCase):
def test_contact_page(self):
resp = self.client.get('/contact/single/')
self.assertEqual(resp.status_code, 200)
Settings.py
DEBUG = True
TEMPLATE_DEBUG = DEBUG
INSTALLED_APPS += (
'django_nose',
)
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
【问题讨论】:
-
只是一个疯狂的猜测:
INSTALLED_APPS中有south吗? -
然后尝试将
SOUTH_TESTS_MIGRATE设置为False(docs)。希望就是这样。 -
@alecxe 我现在已将 SOUTH_TESTS_MIGRATE = False 添加到我的设置中,但仍然出现相同的错误,还有什么想法吗?谢谢。
-
是的。暂时从
INSTALLED_APPS中删除south,看看它是否真的相关。而且,你在使用 sqlite 吗?你用的是什么版本的 django?
标签: django django-testing