Django的TDD/BDD框架?

8 投票
2 回答
3108 浏览
提问于 2025-04-16 05:12

我正在考虑用什么方法来测试我写的Django应用。我看到过Cucumber,这让我想到了lettuce(网址是lettuce.it)和pycurracy。我觉得这些框架看起来不错,因为希望非技术人员也能写出测试定义。

我想要能够:

  • 运行与Django集成的功能测试,有时需要检查模型,
  • 通过网页浏览器测试行为——pycurracy似乎让这变得更简单,因为它已经有了Selenium的支持。但Selenium运行得比较慢,所以我更希望能用一个无头浏览器,最好是支持JavaScript的浏览器来进行测试。

看起来Lettuce可以很容易地做到第一点,但第二点我需要自己建立一个步骤库,比如“我点击按钮x”等等。相反,我没有看到Pycurracy和Django的具体提及,尽管它可以处理第二点。

Lettuce的版本号较低,但这并不意味着它就差。

有没有人使用过这两个框架中的一个或两个?有什么建议吗?

当你有一个相对较大或复杂的项目时,这些框架的效果如何?

2 个回答

0

Aloe-django 是一个很棒的工具,它和 Django 1.8 兼容得很好,实际上它最开始是从 Lettuce 这个项目分出来的。

根据他们的文档:

Aloe-Django 最初是作为 Python BDD 工具 Lettuce 的一部分开始的。就像许多多肉植物一样,它发展成了远超于此的东西。

我在我的 Django 1.7 项目中使用它,马上就要升级到 1.8,感觉非常不错。

5

目前来看,Lettuce 可以做很多你想要的事情,而且它还支持 Django,这点非常方便。

不过,为什么不试试把你喜欢的工具组合在一起呢?

撰写回答