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. Python future模块
  2. P1026 统计单词个数
  3. Java中接口作为方法的返回
  4. 【poj1061-青蛙的约会】拓展欧几里得-不定方程
  5. Android Apps开发环境搭建
  6. Qt 学习之路:QML 和 QtQuick 2
  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)
  8. groovy regex groups(groovy正则表达式组)
  9. vue+cordova构建跨平台应用集成并使用Cordova plugin
  10. 如何在Delphi 中使用 DevExpressVCL的 CxGrid与CxTreeList,编辑某列后计算另一列的值
  11. 网络共享存储服务NFS
  12. cpp 区块链模拟示例(一)工程建立
  13. inflate()引发NullPointerException
  14. day30-模块和包
  15. Three.js开发指南---使用three.js的材质(第四章)
  16. Docker技术入门与实战 第二版-学习笔记-2-镜像构建
  17. JS对表格排序(支持对序号,数字,字母,日期)
  18. Cocos2d-JS实现的2048
  19. HBase表操作
  20. hash和encrypt区别及应用_转

热门文章

  1. CentOS7 安装jdk8
  2. easyUI-右键菜单,关闭选项卡
  3. JS截取与分割字符串常用技巧总结
  4. SPOJ:Lost and survived(multiset+并查集)
  5. Android开发中几种有用的的日历控件实现
  6. C#:template
  7. API介绍
  8. Codeforces - 474D - Flowers - 构造 - 简单dp
  9. shiro之自定义realm
  10. iOS UITextView自适应高度UITextContainerView抖动问题