代码改变世界

BDD实战篇 - 在.NET Core下安装Specflow

  叶伟民  阅读(2273)  评论(1编辑  收藏  举报

这是<如何用ABP框架快速完成项目 >系列中的一篇文章。

 BDD很赞!比TDD先进很多,能够大大提高编码效率。

让我们动手起来吧!先在.NET Core下安装Specflow!

 
然而官网教程:
  1. 是英文的,没有中文
  2. 是在线安装的,没有离线安装。
  3. 有坑。我已经踩过的坑希望你不要再掉进去了
 
所以我写了这篇中文教程。
 
在.NET Core下安装Specflow步骤如下:
  1. 先安装VS 2017和.NET 4.7.1
  2. 安装VS 2017扩展,官网教程是在线安装,如果需要离线安装,可以把扩展下载到本地,然后复制到没有连接外网的机器上手动安装。
  3. 然后安装以下nuget Packages, 如何离线安装nuget package看这里 和 这里
    1. SpecRun.SpecFlow-3.0.0
    2. SpecFlow.xUnit 和 SpecFlow.MsTest 和 SpecFlow.NUnit 三者中其中一个,这里推荐SpecFlow.xUnit
  4. 离线安装nuget packages有以下几个注意要点:
    1. 添加了本地离线nuget安装源之后要把联网安装源删除掉。
    2. 下载nuget package安装包的时候记得要把依赖也下载了,2018-12-31版本的abp .NET Core版本需要把如下依赖都要下载下来:
    3. 一定要严格按照上图下载各个nupkg,一个都不能少,否则会报错。我已经踩过的坑希望你不要再掉进去了。
  5. 配置,在测试目录下按照下图新增一个specflow.json即可
  6. 代码自动生成配置,
    1. 安装SpecFlow.Tools.MsBuild.Generation nuget package
    2. 按照官网教程去掉.csproj里面的代码:(注意!这一步是每新加一个.feature文件都需要做这一步!!!)
    3. 又一个坑来了,不要理会 https://specflow.org/documentation/Generate-Tests-from-MsBuild/ 这篇文章里的东西。
    4. 还有一个坑:必须在.csproj严格指定如下版本,初始化的ABP Test项目所需package应该如下,不要多也不要少,多了要删掉,特别是Gherkin这个package. 不然会报错,而且这个错Specflow还没有修复,issue状态还是open.
  7. 最后一步啦,测试一下是否一切OK
    1. 新建.feature文件
    2. 操作一遍6.2步骤!不要鼠标右键修改.feature文件的自定义生成属性!!!
    3. 写一个BDD test case
    4. 自动生成测试代码
    5. Build后去test explorer看看能否跑新增的Test case
 
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示