您现在的位置是:主页 > news > 哈尔滨营销网站建设公司哪家好/百度关键词排名快速排名

哈尔滨营销网站建设公司哪家好/百度关键词排名快速排名

admin2025/6/3 21:00:31news

简介哈尔滨营销网站建设公司哪家好,百度关键词排名快速排名,哪个网站能学做微商,深圳做网站网络公司BDD - SpecFlow BDD 测试实践 SpecFlow Xunit引言创建一个 .NET Framework 项目添加 SpecFlow package添加支持 xUnit NuGet 包App.config 和 packages.config 的变化创建 Spec feature 文件创建 step definition 文件创建一个被测类文件实现 steps执行测试引言 BDD - SpecFl…

哈尔滨营销网站建设公司哪家好,百度关键词排名快速排名,哪个网站能学做微商,深圳做网站网络公司BDD - SpecFlow BDD 测试实践 SpecFlow Xunit引言创建一个 .NET Framework 项目添加 SpecFlow package添加支持 xUnit NuGet 包App.config 和 packages.config 的变化创建 Spec feature 文件创建 step definition 文件创建一个被测类文件实现 steps执行测试引言 BDD - SpecFl…

BDD - SpecFlow BDD 测试实践 SpecFlow + Xunit

  • 引言
  • 创建一个 .NET Framework 项目
  • 添加 SpecFlow package
  • 添加支持 xUnit NuGet 包
  • App.config 和 packages.config 的变化
  • 创建 Spec feature 文件
  • 创建 step definition 文件
  • 创建一个被测类文件
  • 实现 steps
  • 执行测试

引言

BDD - SpecFlow BDD 测试实践 SpecFlow 模板 一文中主要是实践 SpecFlow 项目模板,今天主要实践非模板 BDD 测试 SpecFlow + Xunit,当然前提需要提前安装 SpecFlow’s Visual Studio 插件

创建一个 .NET Framework 项目

在这里插入图片描述
注意 Framework 的选择,.NET Framework 4.6.2 是 support 比较好的版本。
在这里插入图片描述

添加 SpecFlow package

右键 References -> Manage Nuget Packages
在这里插入图片描述

注意选择 SpecFlow 版本依赖的 .NE FrameWork 版本,Spec 2.4.0 依赖不多,我们就安装这个版本吧。
在这里插入图片描述

安装完成后,会多出两个文件 App.config 用来配置项目,packages.config 用来管理 Nuget 包。
在这里插入图片描述

添加支持 xUnit NuGet 包

根据 xUnit 的依赖包
在这里插入图片描述
安装 xUnit,选择最新版本,因为没有依赖特定的 .NET Framework
在这里插入图片描述

安装 SpecFlow.xUnit,主要选择跟 SpecFlow 版本一致
在这里插入图片描述

xunit.runner.visualstudio 最新版本 2.4.5 正好对 .NET Framework 4.6.2 支持,所以选择这个最新版本安装。
在这里插入图片描述

Microsoft.NET.Test.Sdk,选择最新版本即可。
在这里插入图片描述

App.config 和 packages.config 的变化

自动地加到 App.config 文件中
在这里插入图片描述

添加的 packages 都在 packages.config 文件中。
在这里插入图片描述

创建 Spec feature 文件

右键项目-> add new item,选择 SpecFlow Feature 类型
在这里插入图片描述

我们还是用 Caculator 的实例吧,用下面内容覆盖 Caculator.feature 文件的内容

Scenario: Add two numbersGiven the first number is 50And the second number is 70When the two numbers are addedThen the result should be 120

在这里插入图片描述

创建 step definition 文件

右键 feature 文件中的 step -> Define Steps…,创建 step definition
在这里插入图片描述
在这里插入图片描述
创建的 step definition 文件,模板文件中 step 都是没有实现的。
在这里插入图片描述

创建一个被测类文件

创建一个 被测的 class 文件,Caculator.cs, 并用下面代码覆盖文件内容:

namespace SpecFlowXunitDemo.UnderTest
{public class Calculator{public int FirstNumber { get; set; }public int SecondNumber { get; set; }public int Add(){return FirstNumber + SecondNumber;}}
}

在这里插入图片描述

实现 steps

首先安装 FluentAssertions 依赖,用于测试断言
在这里插入图片描述
用下面代码覆盖 step definition 文件的内容:

using FluentAssertions;
using SpecFlowXunitDemo.UnderTest;
using TechTalk.SpecFlow;namespace SpecFlowXunitDemo
{[Binding]public class CalculatorStepDefinitions{private readonly Calculator _calculator = new Calculator();private int _result;[Given("the first number is (.*)")]public void GivenTheFirstNumberIs(int number){_calculator.FirstNumber = number;}[Given("the second number is (.*)")]public void GivenTheSecondNumberIs(int number){_calculator.SecondNumber = number;}[When("the two numbers are added")]public void WhenTheTwoNumbersAreAdded(){_result = _calculator.Add();}[Then("the result should be (.*)")]public void ThenTheResultShouldBe(int result){_result.Should().Be(result);}}
}

在这里插入图片描述

执行测试

编译整个 Solution, 并打开菜单 Test -> Test Explorer,发现到测试用例,点击绿色图标运行。
在这里插入图片描述
执行结果
在这里插入图片描述