哪些是python用于练习行为驱动开发的最先进的框架和工具?特别是找到类似rspec和mocha的类似红宝石的工具会很棒。
答案 0 :(得分:47)
生菜意味着成为一种类似黄瓜的python工具:http://lettuce.it/
您可以在github.com/gabrielfalcao/lettuce
获取来源答案 1 :(得分:45)
答案 2 :(得分:36)
Ian Bicking建议将doctest用于行为驱动设计:
我个人倾向于在行为驱动的设计风格中使用nose和voidspace mock。具体来说,鼻子的规格plugin非常适合BDD。
答案 3 :(得分:29)
我建议您使用一组工具来帮助程序员实施BDD和TDD。此工具集由以下内容组成:pycukes,specloud,ludibrio和should-dsl。
Should-DSL会给你RSpec般的期望。您可以使用RSpec期望API执行的所有操作,ds-dsl也可以。您可以抓取latestversion from Github。
SpecLoud可帮助您运行类似BDD的单元测试。您可以通过执行
来安装它pip install specloud
Ludibrio是测试双打(模拟,存根和傻瓜)的库。通过
安装pip install ludibrio
PyCukes是BDD的主要工具。它将运行场景等。再次,
pip install pycukes
有关详细信息,请阅读PyPi上的工具文档。
答案 4 :(得分:11)
答案 5 :(得分:9)
您可以使用"sure"表达断言(就像在RSpec中一样)
答案 6 :(得分:8)
Pyccuracy项目旨在为Python中的BDD提供特定于域的语言。
与在API级别工作的doctest不同,它对更高级别的操作进行编码,例如加载网页和提交表单。我没有使用它,但如果你正在寻找它,它看起来有点大有希望。
答案 7 :(得分:6)
我非常喜欢Pyccuracy。我这几天正在中型项目上实施它。
答案 8 :(得分:6)
试试pyspecs。在开发过程中使测试易于阅读和持续运行是我创建该项目的两个主要目标。
from pyspecs import given, when, then, and_, the, this
with given.two_operands:
a = 2
b = 3
with when.supplied_to_the_add_function:
total = a + b
with then.the_total_should_be_mathmatically_correct:
the(total).should.equal(5)
with and_.the_total_should_be_greater_than_either_operand:
the(total).should.be_greater_than(a)
the(total).should.be_greater_than(b)
with when.supplied_to_the_subtract_function:
difference = b - a
with then.the_difference_should_be_mathmatically_correct:
the(difference).should.equal(1)
# run_pyspecs.py
| • given two operands
| • when supplied to the add function
| • then the total should be mathmatically correct
| • and the total should be greater than either operand
| • when supplied to the subtract function
| • then the difference should be mathmatically correct
(ok) 6 passed (6 steps, 1 scenarios in 0.0002 seconds)
答案 9 :(得分:4)
我可能完全忽视了这一点,但我保留的original BDD paper是因为BDD只是TDD重新包装以强调一些最佳实践。
如果我的解释是正确的,您可以通过在任何xUnit实现中重命名方法来获得BDD框架。所以请继续使用标准库的unittest。
编辑:快速谷歌在Behaviour中调出Cheese Shop个模块。对BDD进一步searching没有找到任何其他内容。