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