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

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

 BDD很赞!比TDD先进不少,可以大大提升编码效率。json

让咱们动手起来吧!先在.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
相关文章
相关标签/搜索