Mri*_*lla 99 python django django-testing
我想编写测试时,我想在Django中模拟我的观点请求.这主要是为了测试表格.这是一个简单测试请求的片段:
from django.tests import TestCase
class MyTests(TestCase):
def test_forms(self):
response = self.client.post("/my/form/", {'something':'something'})
self.assertEqual(response.status_code, 200) # we get our page back with an error
Run Code Online (Sandbox Code Playgroud)
无论是否存在表单错误,页面始终返回200的响应.如何检查我的表单失败以及特定字段(soemthing)是否有错误?
Tor*_*cht 238
我想如果您只是想测试表单,那么您应该只测试表单而不是表单呈现的视图.获得一个想法的例子:
from django.test import TestCase
from myapp.forms import MyForm
class MyTests(TestCase):
def test_forms(self):
form_data = {'something': 'something'}
form = MyForm(data=form_data)
self.assertTrue(form.is_valid())
... # other tests relating forms, for example checking the form data
Run Code Online (Sandbox Code Playgroud)
小智 74
from django.tests import TestCase
class MyTests(TestCase):
def test_forms(self):
response = self.client.post("/my/form/", {'something':'something'})
self.assertFormError(response, 'form', 'something', 'This field is required.')
Run Code Online (Sandbox Code Playgroud)
其中"form"是表单的上下文变量名称,"something"是字段名称,"This field is required".是预期验证错误的确切文本.
Joh*_*Mee 12
最初的2011年答案是
self.assertContains(response, "Invalid message here", 1, 200)
Run Code Online (Sandbox Code Playgroud)
但我现在看到(2018年)有一大堆适用的断言:
随便挑选.
| 归档时间: |
|
| 查看次数: |
47469 次 |
| 最近记录: |