什么是BDD-Lettuce框架?BDD-Lettuce框架怎么用
1、安装配置Python环境,然后安装lettuce,直接在cmd命令行里输入下面命令:
pip install lettuce
如图所示:
然后输入lettuce命令,会提示 "could not find features at \features",表示已经安装成功,正因为我们还没有创建Lettuce项目才会出现此提示信息。
如图:


2、下面以官网上的阶乘为例子,项目结构及脚本(当然,官网给出的例子脚本优化的很不错,可以学习优化)如图所示:



3、切换到tests目录,进入cmd命令行运行lettuce测试结果如下,如图所示:

4、下面讲解一下BDD是如何实现的:
首先BDD-Lettuce的主要依靠下面的几个关键字实现(其中And根据不同情况会有会无,根据具体情况决定);第一段Feature主要说明需要实现什么功能,第二段可以看做是一条测试用例:输入什么数据,执行什么操作,返回什么预期结果。
Feature(功能)
Scenario(场景)
Given(给定)
When(当)
And (和)
Then(则)
如图所示:

5、然后说明一下step.py和zero.feature是如何产生联系的:
(1)引入lettuce下面的所有类和方法
import lettuce import *
@step是Python装饰器的写法,也就是编写的每一个需要装饰的函数都由@step()装饰,正如
I have the number (\d+)
对应于zero.feature文件中的
Given I have the number 0

6、(2)定义一个have_the_number()函数,把@step('I have the number (\d+)')匹配到的数字0作为函数的入参,然后将其转换为整型(int)赋值给world.number变量,当进行到计算阶乘的时候则将此变量作为factorial()函数的入参,并把factorial()h函数的返回值赋值给变量world.number。
过程图如图所示:
