这是<如何用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. while(true)应用之 实现自己的消息队列

    早些时候,一直有个疑问,就是比如你从前端发一个操作之后,后台为什么能够及时处理你的东西呢?当然了,我说的不是,服务器为什么能够立即接收到你的请求之类高大上的东西.而是,假设你用异步去做一个事情,而后台 ...

  2. ubuntu双网卡配置,实现内网外网同时访问!

    我们假定内网IP为:10.35.0.58,内网网关为:10.35.0.254:外网IP为222.76.250.4,外网网关为:222.76.250.1.其中局域名网需要连接:10.35.0.X,10. ...

  3. 关于PHP中拿到MySQL中数据中的中文在网页上显示为?的解决办法!

    问题: 解决方案: 在PHP 代码中 输入 : //$connection 是链接数据库返回的变量名: mysqli_set_charset($connection,'utf8'); 完美解决:

  4. 基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 个人技术博客:http://www.cnblogs.com/M ...

  5. 一个系统部署多个tomcat实例

    一.添加环境到/etc/profile. JAVA_HOME=/usr/java/jdk1.8.0_111 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HO ...

  6. DotNetCore深入了解之二HttpContext类

    当KestrelServer启动时,会绑定相应的IP地址,同时在绑定时将加入HttpConnectionMiddleware作为终端连接的中间件. public async Task StartAsy ...

  7. mysql开启general_log查看执行sql

    1.查看是否打开 SHOW variables like "%general_log%"; 2.打开 set global general_log=On 3.查看sql执行 tai ...

  8. FineUI开源版(ASP.Net)开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

  9. dubbo源码解析五 --- 集群容错架构设计与原理分析

    欢迎来我的 Star Followers 后期后继续更新Dubbo别的文章 Dubbo 源码分析系列之一环境搭建 博客园 Dubbo 入门之二 --- 项目结构解析 博客园 Dubbo 源码分析系列之 ...

  10. selenium3环境搭建以及各浏览器驱动的使用方法

    想了解更多关于seleniu请访问selenium官网 https://www.seleniumhq.org/ 以Selenium3.0.2版本为例介绍在Python中如何安装及使用,具体操作步骤如下 ...