Specflow 提供了 ScenarioContext.Current, FeatureContext.Current or ScenarioStepContext.Current 靜態成員讓我們使用,Specflow 3 之後它們已經被標記過時(Obsolete),為了以後相容性的還是別用了,那要改用甚麼呢...
[Unit Test] 測試涵蓋率報表 - ReportGenerator
- 2166
- 0
- Living Document
- 2021-03-29
最近在 marketplace,看到報表的畫面決定來研究看看
https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator
[Appium][WinAppDriver] Appium + WinAppDriver 測試 Windows 桌面應用程式 UI
以往我們要測試桌面應用程式得透過 CodeUI,我對他的體驗不是很好,但現在可以改用 Appium+WinAppDriver 囉,連微軟也是這麼建議,立馬來試用看看
https://docs.microsoft.com/zh-tw/visualstudio/test/use-ui-automation-to-test-your-code?view=vs-2017
[Unit Test] 小技巧-利用 Header 提高 Web API 可測試性
我的作法是在測試專案用OWIN把 WebApp 掛起來,測試案例便可直接打進 Web API,需要外部注入來改變內部狀態時,就不能像以前呼叫 Class,我想到了一些作法,比如組態擋、#if、Header,這裡就分享 Header 的做法
[ASP.NET Web API 2] 實作 System.IdentityModel.Tokens.Jwt 進行身分驗證
- 8159
- 0
- ASP.NET Web API 2
- 2020-07-05
續上篇 https://dotblogs.com.tw/yc421206/2019/01/07/authentication_via_jwt-dotnet,這裡介紹 MS JWT 的使用方式
[ASP.NET Web API 2] 實作 JWT 身分驗證並用單元測試驗證
- 10486
- 0
- ASP.NET Web API 2
- 2020-07-05
JWT 是一個老牌的套件,從 nuget 上來看他,甚至還比 System.IdentityModel.Tokens.Jwt 還要資深,使用起來也相當的簡單
以下是我的使用過程分享
[ASP.NET Web API 2] 使用 OWIN 進行整合測試
- 3340
- 0
- Integration Test
- 2023-09-22
之前有寫過用 TestServer 測試 Web API,[ASP.NET Identity] 使用 Microsoft.Owin.Testing 測試 OAuth Server 和 Web API,某些情境使用上會失效,比如 Redirect,後來又改用了 OWIN,就比較沒有問題了
[UnitTest] 讓 TFS 套用 App.config Transformation 切換連線字串
https://dotblogs.com.tw/yc421206/archive/2014/07/28/146082.aspx 根據上篇,可輕易地在專案建立出不同環境的組態設定,但是 TFS 上的 Build 沒有正常的切換環境,測試專案的連線字串沒有根據我期望的切換,不像 Web 那樣,原來還需要一些設定,以下分享我成功的方法。
[ASP.NET Identity] 使用 Microsoft.Owin.Testing 測試 OAuth Server 和 Web API
- 3338
- 0
- ASP.NET Identity
- 2020-02-01
續上篇,https://dotblogs.com.tw/yc421206/2016/08/02/identity_oauth_owin_setup
隨著功能的演進,原本用 Fiddler 編寫的測試腳本,越來越不容易管理,Web API 的品質也越來越不穩定
有了 TestServer 之後,我的問題就一掃而空,接下來就來分享我的作法,
[Unit Test] 測試程式中的比對物件
結果與期望比對,是測試程式碼中最重要的一個步驟,就是用它來取代人眼比對,有關物件比對 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
當測試程式碼用的是複雜型別,會比對型別中的屬性狀態(值),用它來決定是否通過驗證,最直接的方式就是跑迴圈一個一個比,這樣做不是很聰明,也不夠快,太費力
我會使用以下物件來完成我的工作
- FluentAssertions
- SpecFlow
在這裡我分享我常用的比對方式...