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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM