【发布时间】:2011-12-18 08:51:25
【问题描述】:
我想为 Django 配置文件应用程序中的视图编写一些测试。
视图有一些智能错误处理逻辑。例如如果我们尝试创建配置文件,但配置文件已经存在,则只需重定向到现有配置文件页面(或者可能重定向到编辑配置文件页面)。
如何测试此错误处理是否按预期工作? 什么是最佳实践?
一个想法是使用 Zombie.js 进行 BDD,并测试我看到一个标题不是“创建配置文件”的页面(或者检查我看到一个标题是“编辑配置文件”的页面)。但是 Django 测试文档说:
- 使用 Django 的测试客户端来确定正确的视图 调用并且视图正在收集正确的上下文数据。
- 使用浏览器内框架(例如 Twill 和 Selenium)来测试渲染 HTML 和网页的行为,即 JavaScript 功能。
但是,如果我想使用 Django 测试客户端,它可以执行以下操作:
- 在 URL 上模拟 GET 和 POST 请求并观察响应 - 从低级 HTTP(结果标头和状态代码)到页面内容的所有内容。
- 测试是否为给定的 URL 执行了正确的视图。
- 测试给定请求是否由给定 Django 模板呈现,模板上下文包含某些值。
我应该使用测试客户端然后查看页面内容吗?我应该看看渲染了什么模板吗?测试此视图的适当方法是什么?
【问题讨论】:
标签: django unit-testing bdd django-testing zombie.js