python - 应该在 Django 中编写什么样的测试

标签 python django unit-testing testing django-testing

假设我有一个 Djano 应用程序。用户可以注册、获取激活邮件、激活他们的帐户并登录。登录后,用户可以通过使用管理器处理模型的自定义表单创建、更新和删除对象。

我应该在这里测试什么——我应该使用请求框架来发出请求并通过 View 和表单测试整个链,还是应该编写单元测试来测试管理器和模型?

在测试整个链时,我看到 URL 配置正确, View 按预期工作,表单正确清理数据,它还会测试模型和管理器。似乎 Django 测试框架比这种测试更适合单元测试。 (这是应该用 Twill 和 Selenium 测试的东西吗?)

在编写单元测试时,我会测试 Manger 和 Models,但 URL 和 Forms 并没有真正发挥作用,不是吗?!

一个非常基本的问题,但我想弄清楚一些基本原理。

谢谢大家

最佳答案

是的,使用客户端功能的 Django 单元测试能够测试您的路由和表单是否正确。

如果您想要从外部进行全面的行为驱动测试,您可以使用像 Zombie 这样的 BDD 框架。

至于你需要哪些测试,Django 作者 Jacob Kaplan-Moss 简洁地回答了这个问题:“所有这些。”

我的一般测试理念是一直工作到愚蠢的事情发生,然后编写测试以确保愚蠢的事情不再发生。

关于python - 应该在 Django 中编写什么样的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7301681/

相关文章:

python - 如何使用gzip有效地将许多小文件压缩为许多小.tar.gz文件?

python - 通过为 Azure 云存储编写的自定义存储设置 Django Imagefield 模型属性的 url

python - Django - 如何在将 JSON 对象作为有效负载传递给 request.post() 时对其进行字符串化

python - 运行 Python unittest,以便在成功时不打印任何内容,仅在失败时打印 AssertionError()

python - 在 'uv' 模式下绘图时获取箭袋箭头(尖端和底部)的坐标

python - 如何在 matplotlib 中只显示左边框和下边框?

unit-testing - 在 Angular 中对 $sce.trustAsHtml 的输出进行单元测试

Symfony 中的 Javascript 单元测试

python - 如何使用python从网站中提取所有链接

python - 有没有办法指定接受 __init__ 值的抽象函数