BDD Python behave in BDD

卡农Lucas · 2015年03月26日 · 最后由 81—1 回复于 2016年02月28日 · 4200 次阅读

BDD 概念

全称
Behavior-driven development

中文
行为驱动开发

概念
是敏捷软件开发技术的一种,鼓励各方人员在一个软件项目里交流合作,包括开发人员、测试人员和非技术人员或业务参与者。
BDD 一开始是由 Dan North 在 2003 年作为对 TDD 的回应而命名的。

Gherkin

是一种语法定义良好的计算机软件设计交流语言。业务人员是不懂技术的,Gherkin 使得业务、开发、测试以及其他利益相关人员减少对需产生歧义和误解。

Feature(功能):登录

Scenario(场景):非中国用户不能登录商旅系统

Given(假如):我持有一个未在系统中注册过的账号 luoshangyu
When(当):我输入用户名和密码
Then(那么):我将看到一个提示用户名或密码无效的页面

Feature(功能)

功能描述

Scenario(场景)

用户具体使用的场景

Scenario Outline(场景大纲)

场景大纲可以添加相应的变量

Environment(环境变量)

在某些特定代码执行之前运行
比如在一个 Feature 开始或之后执行
在一个 Scenario 开始或之后执行
在一个 Step 开始或之后执行

这里是在一个 feature 开始及之后执行的例子

Python 代码

工程结构

Step.py

中文
运行behave --lang-help zh-CN查看支持的中文关键字
另外查看支持哪些语言,可以运行命令behave --lang-list。(我运行的时候报错)
不过,也可以在 behave 的工程目录下查看i18n.py文件。

Python3.4 要修改 behave 的runner.py文件,增加字符编码utf-8,否则不能正常运行。
问题如下

修复方法

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 4 条回复 时间 点赞

贴个文中用到的第三方库链接:http://pythonhosted.org/behave/
看完后发现没找到里面用的库的链接(我觉得这种规范性的东西应该会有第三方库实现),然后搜了一下,应该就是文中用的那个库了。

@chenhengjie123 不错。我是应该把库和相关链接及安装不走贴一些。多谢提醒~

#2 楼 @lucasluo 不客气。我也通过帖子学到不少。

翻出来看看,还是很有用的。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册