【问题标题】:Does Django have BDD testing tools comparable to Rails' testing tools?Django 有与 Rails 的测试工具相媲美的 BDD 测试工具吗?
【发布时间】:2010-08-04 22:41:31
【问题描述】:

Ruby/Rails 享有一些非常不错且功能强大的行为驱动设计/开发测试框架,例如 CucumberRSpec

Python/Django 是否喜欢同样的事情(我不是在谈论像 PyUnit 这样的简单单元测试)?

【问题讨论】:

标签: python ruby-on-rails django testing bdd


【解决方案1】:

有一个名为Lettuce 的新工具有望成为 Cucumber 的 Pythonic 版本。它从 Django 集成开始。再加上 Django 中现有的测试工具,它非常适合单元测试。

还有一个名为 Windmill 的工具,它提供了一个可靠的基于浏览器的测试工具来构建 GUI 测试。再加上像 Lettuce 这样的工具来编写验收测试以及直接的 unittestnosetests,我会说你已经准备好了。

要记住的是,Ruby 和 Python 之间的文化略有不同。 Ruby 对测试的偏好高于一切。在 Python 中,它是文档。因此,Python 中没有一百万零一个的测试框架,只有一些非常可靠的框架,偶尔会出现异常值(比如 Lettuce)。

希望这会有所帮助。

【讨论】:

【解决方案2】:

如果有人还在来这里, Aloe,是一个生菜升级,并集成了 django 1.8。 我现在开始使用它了。

【讨论】:

    【解决方案3】:

    如果您指的是高级测试,而不是单元测试,那么您仍然可以使用 Cucumber。 Cucumber 可以与 Webrat 和 Mechanize 连接,您可以使用该设置编写故事来测试您的 Django 应用程序。我有这样的设置。您还可以将 Cucumber 与 Watir 连接起来,并进行基于浏览器的测试。

    没有像 FactoryGirl 之类的东西可以自动为您的模型生成数据,但您可以使用 Django 固定装置为您的模型创建初始数据,并且只有在您处于测试模式时才安装固定装置。然后你可以开始一个测试,并有一些数据来测试。

    有了这些东西,您可以设置一个相当全面的高级测试套件。然后就可以使用 Django 单元测试来做底层测试了。

    【讨论】:

    【解决方案4】:

    我正在使用机器人测试框架http://code.google.com/p/robotframework/。它是用于验收测试和验收测试驱动开发 (ATDD) 的通用测试自动化框架。

    它灵活而强大,并且还允许以类似于生菜/黄瓜的方式进行 BDD 样式。

    【讨论】:

      【解决方案5】:

      我对 TestBrowser 有过很好的体验,它允许您编写高级别的功能测试。请参阅http://pypi.python.org/pypi/homophony 了解 TestBrowser 与 Django 的集成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        • 2013-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多