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

问题如下

修复方法

 

最新文章

  1. 使用dom4j读取xml连接数据库与之单例模式
  2. java并发编程学习: ThreadLocal使用及原理
  3. 帝国cms怎么调用栏目的别名呢?
  4. 计算DEM上的Profile图
  5. 在where条件中使用CASE WHEN 语句
  6. C#基础——Func和Action的介绍及其用法
  7. OpenStack的bridge_sto off的解释
  8. SQL Server性能优化(1)使用SET函数
  9. ckeditor异常问题
  10. bootstrap -- 一个标签中,同时有 col-xs , col-sm , col-md , col-lg
  11. LCD显示的一些基本概念以及DSI的一些clock解释
  12. 判断浏览器IE6
  13. id和instancetype的异同
  14. oracle数据库中的四种循环
  15. 老男孩python学习之作业二---三级菜单
  16. 莫烦scikit-learn学习自修第三天【通用训练模型】
  17. 如果IDEA右上角的tomcat消失了,解决办法
  18. install ceph by ceph-deploy
  19. Redis为什么使用单进程单线程方式
  20. Django 查询时间段 时间搜索 过滤

热门文章

  1. git 打tag标着版本
  2. SQL SERVER-JOB搬迁脚本
  3. Android笔记(三十二) Android中线程之间的通信(四)主线程给子线程发送消息
  4. 解析CentOS 7中系统文件与目录管理
  5. 笔记一下debian8升级到debian9遇到的几个坑
  6. DoraBox漏洞测试环境搭建和测试过程
  7. Bootstrap学习地址
  8. httpd基于域名不同的虚拟主机配置
  9. Codeforces 1206 D - Shortest Cycle
  10. centos6.5上安装git