测试Django向导视图

时间:2018-11-09 06:06:50

标签: django python-3.x django-testing django-formwizard django-formtools

我正在使用PyDoc.net中的出色示例为向导编写测试。

TestCase中的一种方法未在向导中返回正确的步骤:

class WizardTests(TestCase):
    wizard_step_data = (
        {
            'step2-address': '123 Anywhere Ln.'
            'wizard_wizard-current_step': 'step2'
        },
    )

    def test_form_post_success(self):
        response = self.client.post('/wizard/new/step2', self.wizard_step_data[0])
        wizard = response.context['wizard']
        self.assertEqual(response.status_code, 200)
        self.assertEqual(wizard['steps'].current, 'step2')

运行此命令时,我会回来:

Traceback (most recent call last):
  File "/var/www/app/wizard/tests.py", line 71, in test_form_post_success
    self.assertEqual(wizard['steps'].current, 'step2')
AssertionError: 'step1' != 'step2'

我正在使用NamedUrlSessionWizardView,这就是为什么我在self.client.post上的URL是/wizard/new/step2的原因,而不是上面示例中的/wizard/。否则,我将收到/wizard/new的404或301的信息。

您对造成这种情况的原因有什么想法?

0 个答案:

没有答案