这是<如何用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
 

BDD实战篇 - 在.NET Core下安装Specflow的更多相关文章

  1. BDD实战篇 - .NET Core里跑Specflow - 可以跑集成测试和单元测试

    这是<如何用ABP框架快速完成项目 >系列中和DevOps系列文章其中一篇文章.   BDD很赞!比TDD先进很多,能够大大提高编码效率.   上一篇文章说了如何在.NET Core里安装 ...

  2. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  3. (1)MySQL进阶篇在linux环境下安装

    1.概述 对于mysql二进制安装,优点是可以安装到任何路径下,灵活性好,一台服务器可以安装多个mysql.缺点是已经编译过,性能不如源码编译得好,不能灵活定制编译参数.如果用户即不想安装最简单却不够 ...

  4. 项目部署篇之二——linux下安装jdk1.8

    1.下载jdk1.8 百度云下载后,直接通过xftp拖到你想放的目录下就行了,实在方便 链接:https://pan.baidu.com/s/1hQl0_3owT776lRO9mHSbXA 提取码:2 ...

  5. Python开发【初始篇】:Linux下安装Python3

    Linux系统默认自带python2.6的版本,这个版本被系统很多程序所依赖,所以建议不要轻易删除,除非你能解决其他程序的依赖问题.如果使用最新的Python3需要进行编译安装源码包,这样就对系统默认 ...

  6. 在 windows 环境下安装 redislive

    这是一篇在 windows 环境下安装 redislive 的教程! 项目地址:https://github.com/nkrode/RedisLive 配置文档:http://www.nkrode.c ...

  7. Mac OS X 下安装使用 Docker (2017年7月)

    两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2do ...

  8. Centos 7环境下安装配置Hadoop 3.0 Beta1简记

    前言 由于以前已经写过一篇Centos 7环境下安装配置2.8的随笔,因此这篇写得精简些,只挑选一些重要环节记录一下. 安装环境为:两台主机均为Centos 7.*操作系统,两台机器配置分别为: 主机 ...

  9. ubuntu系统下安装pyspider:搭建pyspider服务器新手教程

    首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...

随机推荐

  1. [Swift]扩展String类:Base64的编码和解码

    扩展方式1: extension String { //Base64编码 func encodBase64() -> String? { if let data = self.data(usin ...

  2. 几个java小例子

    比较两个字符串的值: /*------------------------比较两个字符串的值----------------------*/ String st1="hello"; ...

  3. 小程序解析html之富文本插件wxParse

    近期,开发小程序时,遇到后台给我返回了一串html代码,需要我这边来解析,头疼了好久,网上找资料找了变天,终于找到wxParse,然而看到的都是针对于页面中有单个html或者固定数据的,我现在的问题是 ...

  4. Ajax,JSONP以及跨域问题

    没用过裸的Ajax 也没听过jsonp,也不了解跨域问题,emmm… 参考: http://www.runoob.com/ajax/ajax-tutorial.html https://www.lia ...

  5. Ocelot简易教程(二)之快速开始2

    为什么这篇的标题叫"Ocelot简易教程(二)之快速开始2"呢,因为很多朋友跟我说上一篇" Ocelot简易教程(二)之快速开始1"内容太少了,只是简单介绍Oc ...

  6. 详解Maven用户的配置settings.xml

    Maven用户设置 作者其他技术文章 1)Oracle性能优化之查询语句通用原则 2)Redis常用命令 3) SpringCloud入门之常用的配置文件 application.yml和 boots ...

  7. 【转载】LINUX 和 WINDOWS 内核的区别

    LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1 ...

  8. Linux下获取java堆栈文件并进行分析

    当服务器内存飙升或者cpu负载飙升的时候,可以使用如下步骤排查问题: 1.终端输入top命令,键盘大写的情况下按P(cpu负载率从高到低排序)或者M(内存使用率从高到低排序),可以查看导致cpu或者内 ...

  9. 第2章 细说Linux系统用户/组管理(1)

    2.1 用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号uid(user id).所属组及其默认的shell,可能还有密码.家目录.附属组.注释信息等. ...

  10. Go处理json数据

    json数据格式 参见json数据格式说明. 如果没操作过json数据,建议先看下上面的文章,有助于理解本文后面的内容. Go json包 Marshal():Go数据对象 -> json数据 ...