这是<如何用ABP框架快速完成项目 >系列中的一篇文章。html
BDD很赞!比TDD先进不少,可以大大提升编码效率。json
让咱们动手起来吧!先在.NET Core下安装Specflow!框架
然而官网教程:
-
是英文的,没有中文
-
是在线安装的,没有离线安装。
-
有坑。我已经踩过的坑但愿你不要再掉进去了
因此我写了这篇中文教程。
在.NET Core下安装Specflow步骤以下:
-
先安装VS 2017和.NET 4.7.1
-
安装VS 2017扩展,官网教程是在线安装,若是须要离线安装,
能够把扩展下载到本地,而后复制到没有链接外网的机器上手动安装。
-
而后安装如下nuget Packages, 如何离线安装nuget package看
这里 和
这里
-
SpecRun.SpecFlow-3.0.0
-
SpecFlow.xUnit 和 SpecFlow.MsTest 和 SpecFlow.NUnit 三者中其中一个,这里推荐SpecFlow.xUnit
-
离线安装nuget packages有如下几个注意要点:
-
添加了本地离线nuget安装源以后要把联网安装源删除掉。
-
下载nuget package安装包的时候记得要把依赖也下载了,2018-12-31版本的abp .NET Core版本须要把以下依赖都要下载下来:
-
必定要严格按照上图下载各个nupkg,一个都不能少,不然会报错。我已经踩过的坑但愿你不要再掉进去了。
-
配置,在测试目录下按照下图新增一个specflow.json便可
-
代码自动生成配置,
-
安装SpecFlow.Tools.MsBuild.Generation nuget package
-
按照官网教程去掉.csproj里面的代码:
(注意!这一步是每新加一个.feature文件都须要作这一步!!!)
-
-
还有一个坑:必须在.csproj严格指定以下版本,初始化的ABP Test项目所需package应该以下,不要多也不要少,多了要删掉,特别是Gherkin这个package. 否则会报错,并且这个错Specflow尚未修复,issue状态仍是open.
-
最后一步啦,测试一下是否一切OK
-
新建.feature文件
- 操做一遍6.2步骤!不要鼠标右键修改.feature文件的自定义生成属性!!!
-
写一个BDD test case
-
自动生成测试代码
-
Build后去test explorer看看可否跑新增的Test case