测试我的表单时无法发出POST请求

时间:2016-01-23 17:47:31

标签: python django tdd

我需要使用django TestCase进行表单测试,但是当我发出self.client.post请求时,会有404状态代码 -

self.assertEqual(response.status_code, 200)
AssertionError: 404 != 200

表单在浏览器中运行良好。如果我在发布请求后打印响应我已打印所有数据但状态代码保留404并且数据不保存到db。哪里可以问题? 这是我的测试:

   def test_post(self):
        '''
         Check form saves data
        '''

        self.response = self.client.post(reverse('user_detail', kwargs={'pk': 1}), {'name': 'Pablo'})

        self.assertEqual(self.response.status_code,200)

查看:

class ContactUpdateView(UpdateView):
    model = Contact
    form_class = ContactForm
    template_name = 'edit.html'

    def get_success_url(self):
        return reverse('user_detail', kwargs={'pk': 1})

形式:

class ContactForm(forms.ModelForm):
    """
    The model for Contact model edit
    """
    class Meta:
        model = Contact
        fields = ['name', 'last_name', 'date_of_birth', 'bio', 'other_contacts', 
            'email', 'jabber', 'skype', 'other_contacts', 'photo']
        widgets = {
            'date_of_birth': forms.DateInput(attrs={'class':'datepicker'}),
        }

地址:

url(r'^(?P<pk>\d+)/edit/$', ContactUpdateView.as_view(),
        name='user_detail'),

0 个答案:

没有答案