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