behave test用的python的behave软件
安装使用pip install behave
使用时主要有两个部分。一个是根目录下的.feature,另一个是step文件夹下的.py
|
|
每个feature和steps的py是对应的。
先讲一下feature。先给个例子:
|
|
他内容包括5行:
- Feature行: 介绍这个feature用来干什么的;
- Scenario行:介绍这个scenario用来干什么的;
- Given: 一般数据的初始化在这里执行;
- When:执行操作;
- Then:验证结果
其中尖括号<>指的是参数,在下面example中第一行是参数的列名,第二行开始是参数,会传给.py。如果在examples中没有这个参数,则直接会传带尖括号的参数名给py文件
对于py文件,我们现在用到的主要是@give和@then两个annotation:
|
|
@given里的内容需要和feature的GAVEN一样,因为behave会把它注册成一个step。下面的函数参数可以直接写参数名,也可以写kwargs拿到所有参数。context参数会和then中的函数共享,可以当做全局的。
@then类似,是做具体事情的。在其中写下assert用来判断。assert为True则成功,反之则会验证不通过。如果需要print东西,要注意只有在验证不通过时才会打出来。
疑惑
这里遇到的一个坑就是他注册step的判断不知道哪里有bug,明明given里两个不一样,但是死活注册不上,只好改了given的内容。源代码的话在behave/reporter/step_registry.py的add_step_definition
|
|
讲道理的话step_type是given这个annotation,step_text是内容,然而不知道为啥就是判断exist。python不太熟,就没往下追
参考文献
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证,欢迎转载,但转载请注明来自http://thousandhu.github.io,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:http://thousandhu.github.io/2016/03/02/python做behave-test/