[Jenkins] 使用SpecRun產生BDD測試結果報表

摘要:[Jenkins] 使用SpecRun產生BDD測試結果報表

前言

最近在專案之中都使用Specflow來作為專案撰寫BDD測試的Framework,

也讓所有測試程式變得更加的親切,甚至還可以當作簡單的邏輯文件來瀏覽,

更多關於Specflow的介紹可以參考91哥的文章

今天要向大家介紹的是一套叫做SpecRun的工具,它讓我們在進行SpecFlow測試的時候更加的方便快速,

更可以配合Jenkins的建置每次都產生測試的結果報表喔!

在Visual Studio中使用SpecRun

首先準備一份SpecFlow的測試範例,也可以直接從github上取得https://github.com/kirkchen/CI-Sample

  1. 打開專案檔,在SpecFlow的測試專案上點選nuget
  2. 安裝SpecRun for SpecFlow 1.9,我們可以看到專案下多了一些檔案
  3. 修改App.Config,將UnitTestProvider改為SpecRun
  4. 在Feature檔案中點選滑鼠右鍵,選擇Run SpecFlow Scenarios執行測試
  5. 在輸出視窗中可以看到SpecFlow開始執行,一下子就跑完所有測試,並產生一個結果頁面
    ※若為evlation版本將會有5~15秒的延遲,請大家多多支持好用軟體!
  6. 點選結果頁面,可以看到非常精美的報表
    你還可以透過報表點選每一個Feature,觀看每一個Scenario的邏輯

在Visual Studio中直接使用Specrun來執行測試的速度還滿快的, 同時產生出來的報表也十分精美,還可以細看每一個Feature的步驟!

在Jenkins中產出SpecFlow結果

  1. 打開之前設定好的Jenkins建置Task,在建置專案之後加上執行windows批次指令
    CI-Sample.BDD.Test\runtests.cmd Default /reportFile:Specs\SpecReport.html 此bat檔案為使用nuget加入SpecRun時所產生
    Default代表Default.srprofile執行設定, reportFile代表結果檔案位置
  2. 在建置後動作加入Publish Html Report(需安裝Html Publisher PlugIn),設定測試報表產生位置
  3. 在Jenkins專案首頁可以看到多出報表連結
  4. 點進去可以看到詳細的報表資訊

結語

透過使用SpecRun,可以讓SpecFlow的Feature檔案以及測試結果以報表的方式呈現,

不僅僅方便開發者可以重新檢視測試邏輯,更甚者可以將這份資料當作邏輯文件來使用。

透過簡單的工具轉換,就可以讓原本就有的BDD測試程式擁有更多的價值,

或許還有更多的應用方式等待發掘,關於今天的內容歡迎大家一起討論~