django测试客户端获得404所有网址

时间:2011-10-03 07:48:38

标签: django django-testing

我正在进行我的第一次django测试实验,我遇到的问题是我总是得到404模板,无论我使用哪个url(偶数/)。 如果我将相同的代码抛入django shell,它会按预期工作,并始终向我显示所请求URL的内容。

class SimpleTest(TestCase):
    def setUp(self):
        self.user = User.objects.create_user('test', 'test', 'test')
        self.user.is_staff = True 
        self.user.save()
        self.client = Client()

    def test_something(self):
        self.assertTrue(self.client.login(username='test', password= 'test'))
        self.client.get("/")

登录返回True,但get()失败。我在这里做错了什么提示?

1 个答案:

答案 0 :(得分:5)

请注意,大多数观看次要使用get_object_or_404get_list_or_404之类的内容,或者只是在访问某个对象或其他对象时出现Http404。您需要确保为测试数据库填充了足够的对象,以满足所有这些要求,使视图不返回404。

请记住,在运行测试时,每次测试(使用事务)后都会回滚数据库,因此每个测试方法必须独立存在,否则setUp方法必须填充数据库具有任何必需的依赖性。