SpecFlow&环境搭建


BDD

Behavior Driven Development,即行为驱动开发,是敏捷开发技术之一,通过自然语言定义系统行为,以功能使用者的角度,编写需求场景,且这些行为描述可以直接形成需求文档,同时也是测试标准。

BDD 的目的不是自动化测试,但是 BDD 可以有效指导自动化测试,基于 BDD 的自动化测试相当于维护了一份需求活文档,对项目需求的维护和管理非常有价值。

SpecFlow

SpecFlow是一个测试框架,支持BDD的指导思想。SpecFlow源于Cucumber,概念和用途几乎一样,可以理解为SpecFlow是.Net平台下的Cucumber。基于Gherikin语法来定义用户场景。

安装扩展插件

打开Visual Studio 2022,顶部菜单扩展->管理扩展,安装Specflow插件

下载完毕,关闭VS,插件将提示被安装

安装完毕

创建测试项目

  1. 新建空白解决方案

  2. 创建一个待测类库

  3. 创建一个SpecFlow测试项目

在选择Test Framework时提供了四种选项,可依据实际使用选用

  • NUnit
  • xUnit
  • MSTest
  • SpecFlow+Runner 该方式需要跳转到微软账号获取认证,否则无法使用
    模板中已附带了相关的Nuget包,如上我选择NUnit

  
  
  
  
  
  

创建好的SpecFlow默认带了一个Demo

注意:默认创建的SpecFlow使用C#10,本地使用的C#9,有些功能不能使用,因此我将全局的命名空间及可空功能都关闭了,更改如下部分,删除即可

在ImplicitUsings中的全局命名空间,Copy到其他类中,删除ImplicitUsings.cs文件

为保持结构简洁,先删除Drivers和Support文件夹

完成对CalculatorDemo类库的引用

最终项目结构

2022-01-23,望技术有成后能回来看见自己的脚步