Allure TestOp 是一套可以將測試結果產生成漂亮的測試報表,支援很多測試框架和 Cucumber/Gherkin 語言,我將專注在 .NET,接著,就來動手實作吧。

Allure TestOp 是一套可以將測試結果產生成漂亮的測試報表,支援很多測試框架和 Cucumber/Gherkin 語言,我將專注在 .NET,接著,就來動手實作吧。
.NET Core 3 已經釋出一段時間了,昨天趁機追了一下進度,沒想到在 Specflow 3 卡關了一下關
當你想要聚焦,減少 Scenario 的 Step Definition 時,可以合併他們,提高 Scenario 的可讀性;但伴隨來的副作用就是細節被隱藏到 Step.cs 測試程式碼,從 Sceario 讀不出來,團隊內若都很了解細節,這樣倒是一個不錯的做法
當測試案例越來越多的時候,執行的時間會越來越長,這時候就可以靠並行測試 (Parallel Test),來縮短測試時間,只要確定測試案例之間沒有共用資源,就可以使用囉
Specflow 提供了 ScenarioContext.Current, FeatureContext.Current or ScenarioStepContext.Current 靜態成員讓我們使用,Specflow 3 之後它們已經被標記過時(Obsolete),為了以後相容性的還是別用了,那要改用甚麼呢...
Specflow 3 正式版釋出,支援 .NET Core,連帶改變 .NET Framework 的設定
https://specflow.org/2019/specflow-3-is-here/?fbclid=IwAR0shtvllisAYgTPefKvwkTLQhPDxTU87rrd_A2knjn_Gho7xzgaHJXAW6M
上週教育訓練時,Live Demo 卡關被弄到,要記錄一下...
結果與期望比對,是測試程式碼中最重要的一個步驟,就是用它來取代人眼比對,有關物件比對 91哥的文章有非常詳細的介紹:
https://dotblogs.com.tw/hatelove/2014/06/06/how-to-assert-two-collection-equal
https://dotblogs.com.tw/hatelove/2016/03/28/compare-object-equality-with-expected-objects
當測試程式碼用的是複雜型別,會比對型別中的屬性狀態(值),用它來決定是否通過驗證,最直接的方式就是跑迴圈一個一個比,這樣做不是很聰明,也不夠快,太費力
我會使用以下物件來完成我的工作
在這裡我分享我常用的比對方式...
日前,要使用 SpecFlow 描述需求,被測目標會回傳多筆訊息,以往我驗證多筆資料是使用 \r\n
現在...我改用 Doc Strings
前面幾篇介紹使用 SpecFlow 和 Pickles 指令碼產生 cucumber/gherkin 的測試報表,請參考:
https://dotblogs.com.tw/yc421206/2016/04/25/specflow_pickles_live_document
https://dotblogs.com.tw/yc421206/2016/04/26/specflow_pickles_live_document_command_line
今天,我要搭配 TFS 2015 Build vNext 自動產生測試報表,以下是我的演練。
PS.雖然說,手動產生測試報表已經完成了,但還是花了很多的時間調整指令碼路徑的處理。
續上篇,上篇使用了 Pickles 產生出 Feature 報表,這篇要介紹 SpecFlow 報表,SpecFlow 本身就內建報表,這個報表比較適合開發人員,請參考:
https://github.com/techtalk/SpecFlow/wiki/Reporting
這篇提供了我寫的 Batch 檔,若對指令還不熟的,可以從參考一下。