行为驱动开发(BDD)入门指南

行为驱动开发(Behavior Driven Development,简称BDD)是一种敏捷软件开发技术,它鼓励开发者、QA和非技术人员之间的协作,以确保软件项目满足业务需求。本文将通过一个简单的.NET项目示例,向展示如何在实际开发中应用BDD方法。

在开发任何模块或项目时,遵循BDD意味着需要编写单元测试代码,并使用支持单元测试的工具,如NUnit、MSTest(Visual Studio集成)或其他喜欢的测试工具。本文将使用MBUnit作为测试工具,并使用SpecFlow将Gherkin语言转换为单元测试代码。

开始之前

在开始之前,需要一个Gherkin语言编写的需求。例如,一个简单的需求可能是:

Given 有一个搜索表单,可以搜索姓名、地址和职业表 When 用户输入非空文本 And 文本长度超过3个字母数字字符 Then 用户将获得搜索结果 And 如果搜索结果为空,则会弹出消息框提示用户重新搜索

步骤1:创建项目

打开Visual Studio 2010,创建两个类库项目:

  • SearchSpec:包含Gherkin到CS规范代码的转换。
  • SearchModule:包含满足规范的所有必要代码。

步骤2:添加配置文件

在SearchModule项目中添加一个配置文件,并粘贴以下配置:

<?xml version="1.0"?> <configuration> <configSections> <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/> </configSections> <specFlow> <unitTestProvider name="MbUnit"/> </specFlow> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration>

这个配置文件用于指定SpecFlow和将要使用的单元测试工具。

步骤3:添加特性文件

在Visual Studio中添加一个特性文件,命名为Search.feature,并按下OK。Visual Studio将为创建两个文件:一个包含Gherkin规范的特性文件,以及一个与之关联的代码文件,包含生成的C#代码。

步骤4:修改特性文件内容

将特性文件的内容更改为简单规范,并保存特性文件。保存后,相应的C#代码将在代码背后生成。

步骤5:定义步骤

现在已经在C#中定义了特性,需要另一个抽象层次,以便为特性文件中描述的每个步骤定义(当然还有feature.cs文件中的步骤)定义。幸运的是,SpecFlow为提供了创建步骤定义的模板。将添加一个名为SearchStepDefinition.cs的步骤定义文件。

步骤6:开始开发

已经创建了基础,现在可以开始遵循纯BDD进行开发。将编写每个步骤定义方法的主体,同时编写与原始开发相关的代码。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485