在測試時,TestContainers 它可以簡化我們產生 Container 的步驟,配置 Container 的方式也相當的簡單、明確;從同事得知 TestContainers,周末則來研究一下使用方式。
2023-09-08
通過 TestContainers 產生測試所依賴的環境
- 1372
- 0
- Integration Test
- 2023-09-10
在測試時,TestContainers 它可以簡化我們產生 Container 的步驟,配置 Container 的方式也相當的簡單、明確;從同事得知 TestContainers,周末則來研究一下使用方式。
C# 9 開始就可以不用在主控台程式包含 main 方法(Top-level statements),在 .NET 6,ASP.NET Core 6 也支援了 Top-level statements 專案範本,已經直接套用此功能,我用 WebApplicationFactory 寫整合測試時,碰到一點小問題,以下是解決問題的經過
以往 ASP.NET Core 可以使用 TestServer 來進行整合測試,現在多了一個選擇 WebApplicationFactory,WebApplicationFactory 基於 TestServer 又封裝了更多的功能,我覺得使用起來又更簡單了,如果可以的話可以改用它
.NET Framework 可以利用 OWIN 把 Web API 掛載起來,用測試打進去,在 .NET Core 可以用 WebHost,如果你需要 .NET Framework 的請到以下連結https://dotblogs.com.tw/yc421206/2019/01/05/webapi_test_via_owin
之前有寫過用 TestServer 測試 Web API,[ASP.NET Identity] 使用 Microsoft.Owin.Testing 測試 OAuth Server 和 Web API,某些情境使用上會失效,比如 Redirect,後來又改用了 OWIN,就比較沒有問題了