BDD實戰篇 - 在.NET Core下安裝Specflow

這是<如何用ABP框架快速完成項目 >系列中的一篇文章。html

 BDD很贊!比TDD先進不少,可以大大提升編碼效率。json

讓咱們動手起來吧!先在.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
相關文章
相關標籤/搜索