這是<如何用ABP框架快速完成項目 >系列中的一篇文章。
讓我們動手起來吧!先在.NET Core下安裝Specflow!
然而官網教程:
-
是英文的,沒有中文
-
是在線安裝的,沒有離線安裝。
-
有坑。我已經踩過的坑希望你不要再掉進去了
所以我寫了這篇中文教程。
在.NET Core下安裝Specflow步驟如下:
-
先安裝VS 2017和.NET 4.7.1
-
安裝VS 2017擴展,官網教程是在線安裝,如果需要離線安裝, 可以把擴展下載到本地,然后復制到沒有連接外網的機器上手動安裝。
-
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文件都需要做這一步!!!)
-
又一個坑來了,不要理會 https://specflow.org/documentation/Generate-Tests-from-MsBuild/ 這篇文章里的東西。
-
還有一個坑:必須在.csproj嚴格指定如下版本,初始化的ABP Test項目所需package應該如下,不要多也不要少,多了要刪掉,特別是Gherkin這個package. 不然會報錯,而且這個錯Specflow還沒有修復,issue狀態還是open.
-
最后一步啦,測試一下是否一切OK
-
新建.feature文件
- 操作一遍6.2步驟!不要鼠標右鍵修改.feature文件的自定義生成屬性!!!
-
寫一個BDD test case
-
自動生成測試代碼
-
Build后去test explorer看看能否跑新增的Test case
