2

我在我的 Django 1.7 项目中有这个测试:

class DummyTestTest(TestCase):
    def setUp(self):
        self.test_user = User.objects.create(username='tester', first_name='test', last_name='er', password="1234", email="foo@bar.com")

    def test_sanity(self):
        qs = User.objects.filter(pk = self.test_user.pk)
        self.assertIn(self.test_user, qs)

在我看来,这意味着在执行测试期间,测试用户应该是数据库的一部分。但是,如果我执行该测试:

(venv)tinloaf@janeway alumnet % python manage.py test core.tests.DummyTestTest
Creating test database for alias 'default'...
F
======================================================================
FAIL: test_sanity (core.tests.DummyTestTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/mnt/data/home/tinloaf/src/alumnet/alumnet/core/tests.py", line 41, in test_sanity
    self.assertIn(self.test_user, qs)
AssertionError: <User: tester> not found in []

----------------------------------------------------------------------
Ran 1 test in 0.012s

FAILED (failures=1)
Destroying test database for alias 'default'...

不管我使用TestCase 还是TransactionTestCase,用户都不在那里。我遇到了错误还是我做错了什么?

4

0 回答 0