【问题标题】:What kind of tests should one write in Django应该在 Django 中编写什么样的测试
【发布时间】:2011-11-10 05:29:41
【问题描述】:

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

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

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

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

一个非常基本的问题,但我想弄清一些基础知识。

谢谢大家。

【问题讨论】:

  • 与 sternberg 类似,我只在发生某些事情时编写详细的测试,否则我为我编写的每个函数编写一个基本测试,只是验证它是否有效。这创建了一个很棒的回归测试套件,并且不需要太长时间来实现。 IE。这可能包括仅通过 django 客户端请求一个 url 并验证模板是否正常工作或更复杂的事情。

标签: python django unit-testing testing django-testing


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-09
    • 2011-09-15
    • 2016-05-31
    • 2013-08-07
    • 2011-11-10
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多