Bel*_*dez 17 python django django-testing
我有一个视图应该是基于GET值为表单字段设置初始值.我想测试一下.我目前正在使用Django的测试客户端,但我愿意看其他工具.
对不起,我没有提到我很清楚assertContains方法,但我希望除了在HTML中搜索input标签和value属性之外还有更好的方法.
Bel*_*dez 25
讨厌回答我自己的问题(就像第三次我做的那样)但是在嘲笑测试客户端之后,我发现了一个更好的方法:
def test_creating_stop(self):
c = self.client
# Check that name is pre-filled
response = c.get('%s?name=abcd' % reverse('add_new_stop'))
self.assertEqual(response.context['form'].initial['name'], 'abcd')
Run Code Online (Sandbox Code Playgroud)
有没有人看到这个有什么问题?我会把它放在一段时间看看人们的想法.
initial['...']表单上接受的解决方案检查值,但您也可以检查字段上的实际值.伪代码吼叫.
如果要测试直接来自模型的默认值(未设置form.initial)并确保它initial['...']是实际值,这将非常有用.
def test_some_default_value(self):
response = self.client.get('/signup/')
self.assertEquals(response.context['form']['plan'].value(), my_value)
def test_some_default_value_2(self):
some_different_conditions...
response = self.client.get('/signup/')
self.assertEquals(response.context['form']['plan'].value(), a_different_value)
Run Code Online (Sandbox Code Playgroud)