【发布时间】:2010-11-02 00:58:41
【问题描述】:
在单元测试中我需要加载fixtures,如下:
class TestQuestionBankViews(TestCase):
# Load fixtures
fixtures = ['qbank']
def setUp(self):
login = self.client.login(email="mail@gmail.com",password="welcome")
def test_starting_an_exam_view(self):
candidate = Candidate.objects.get(email="mail@gmail.com")
.......etc
def test_review_view(self):
self.assertTrue(True)
.........
def test_review_view2(self):
self.assertTrue(True)
.........
问题:
每次测试都会加载这些固定装置,即在 test_review_view、test_review_view2 等之前,因为 Django 在每次测试后都会刷新数据库。
此行为导致测试需要很长时间才能完成。
如何防止这种多余的夹具加载?
有没有办法在 setUp 中加载夹具并在测试类完成时刷新它们,而不是在每个测试之间刷新?
【问题讨论】:
-
哦............我想我可以通过使用 intial_data 夹具并继承“unittest.Testcase”而不是“test.TestCase”来解决这个问题?还有其他想法吗?
标签: django unit-testing