我想在Django配置文件应用程序中编写一些视图测试。
视图有一些智能的错误处理逻辑。例如,如果我们试图创建一个概要文件,但是概要文件已经存在,那么只需重定向到现有的配置文件页面(或者可能是编辑概要文件页面)。
如何测试此错误处理是否按需要工作?什么是最佳实践?
一种方法是使用Zombie.js进行BDD,并测试是否看到一个标题不是"Create“的页面(或者检查是否看到标题为"Edit”的页面)。但是Django测试医生说:
但是,如果我想使用Django测试客户机,它可以执行以下操作:
。
我是否应该使用测试客户端,然后查看页面内容?我应该看看呈现了什么模板吗?测试这个视图的合适方法是什么?
发布于 2011-10-30 14:32:03
重定向和概要文件创建都是django,所以虽然您可以使用其他框架来测试JS功能,但对于这个实例,我将使用django测试客户端。
你必须逐案决定你的测试到底要走多远。时间是有限的,有些方面比其他方面更容易破碎。例如,我不会担心模板解析- 200状态代码和快速检查内容是足够的。
总之,我首先要识别视图的不同状态(我在这里猜测):
<代码>F29
如何测试此错误处理是否按需要工作?
# create object with specific ID.
# post form data that should trigger your special redirect.
# ensure the redirect takes you to the model you just created via reverse
response = client.post(reverse('form_url'), {'valid_form_data': ''}, follow=True)
assertRedirects(response, reverse('view_url', args=[id]), target_status_code=200)
这将确认正确的配置文件正被重定向到给定的数据,您决定的任何数据应该触发此操作。
https://stackoverflow.com/questions/7947819
复制