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,否则不能正常运行。
问题如下

修复方法


↙↙↙阅读原文可查看相关链接,并与作者交流