Repository 測試使用 Testcontainers - 原始碼

在去年 10  月寫了這一篇文「Repository 測試使用 Testcontainers」,不過文章裡只有公開部分的程式碼類別,可能會讓有些人想跟著實做卻會遇到做不出來的狀況。

但因為實際的程式原始碼已經不在了,所以我就重做了一個新的專案,盡量還原當時的範例專案,之前文章裡的測試專案是使用 MSTest,而這個新建立的專案則是提供了 xUnit  與 MSTest  兩種測試專案,讓使用這兩種測試框架的開發人員可以參考。

程式原始碼

https://github.com/kevintsengtw/RepositoryTests_with_Testcontainers/tree/main

關連文章

 

簡單說明

重新寫的範例專案是使用 .NET 8,測試專案分別使用 xUnit  與 MSTest

Sample.WebApplication 專案所使用的 Table「Shippers」Create Schema Script 如下

CREATE TABLE Sample.dbo.Shippers (
  ShipperID int IDENTITY,
  CompanyName nvarchar(40) NOT NULL,
  Phone nvarchar(24) NULL,
  CONSTRAINT PK_Shippers PRIMARY KEY CLUSTERED (ShipperID)
)
ON [PRIMARY]

以下兩個測試專案都會使用到 Docker,並透過 Testcontainers-Dotnet  建立 mcr.microsoft.com/mssql/server:2017-latest 的 container  進行測試,所以要在開發環境裡先安裝好 Docker  環境以及事先拉取 image。

Sample.WebApplicationTests

這個測試專案是使用 xUnit,有使用到的 NuGet Packages  如下

Sample.WebApplicationTests_MSTest

這個測試專案是使用 MSTest,就是重寫「Repository 測試使用 Testcontainers」裡的範例專案,有使用到的 NuGet Packages  如下

測試執行結果

以上

分享