Django单元测试。简单的例子

时间:2013-02-25 17:52:56

标签: python django testcase django-testing

我用Django学习单元测试。如何为此功能编写测试?我需要这个例子来理解。

@login_required
def datas(request):
    queryset = Data.objects.filter(user=request.user)
    if queryset.count() == 0:
        return redirect('/data/')
    return render_to_response('data_list.html',
                              {'data': queryset},
                              context_instance=RequestContext(request))

1 个答案:

答案 0 :(得分:4)

#imports here

class YourTestCase(TestCase):
    fixtures = ['user-data.json']

    def setUp(self):
        self.client = Client()

    def test_empty_datas(self):
        self.client.login(username='something', password='something')
        response = self.client.get('/path/to/view/')  # or reverse by name
        self.assertEqual(response.status_code, 302,
            'View did not redirect on empty queryset.')

    def test_populated_datas(self):
        self.client.login(username='something', password='something')
        Data.objects.create(some_field=some_value)
        response = self.client.get('/path/to/view/')  # or reverse by name
        self.assertEqual(response.status_code, 200,
            'View did not return a 200.')

......等等。用户数据需要包含至少一个用户,否则您将无法进行身份验证。