以往都是使用 localdb 來進行開發和自動化測試,但它只能支援 Windows 平台,若是要跨平台,SQL Server 容器是選項之一,接下來我們就來看看要怎麼使用。
跟資料庫有關的測試可以稱操作資料庫的動作是倉儲(Repository)物件的單元測試,或者是,商業邏輯物件和倉儲物件的集成測試,不管怎麼叫,基本上對於資料庫的操作案例也應該會涵蓋到;原則上,案例不會多,至少會有一個,再重要性來決定要不要增加。
以往都是使用 localdb 來進行開發和自動化測試,但它只能支援 Windows 平台,若是要跨平台,SQL Server 容器是選項之一,接下來我們就來看看要怎麼使用。
跟資料庫有關的測試可以稱操作資料庫的動作是倉儲(Repository)物件的單元測試,或者是,商業邏輯物件和倉儲物件的集成測試,不管怎麼叫,基本上對於資料庫的操作案例也應該會涵蓋到;原則上,案例不會多,至少會有一個,再重要性來決定要不要增加。
由於 .NET Core 跨平台,除了可以部署在 VM 的 IIS 之外,Docker 也是選項之一,它的使用體驗甚至比 VM 還要來的好,部署速度也比 VM 快很多
筆記一下安裝步驟
當有一個介面(抽象),有多個實作(細節),在 Autofac 和 Unity 預設都有相關的解決方案,可以注入到屬性、方法、建構函數,這都需要使用特殊的 Attribute 來描述參數,比如 Autofac 的 [KeyFilter]、Unity 的 [Dependency],這將會讓你的物件變得不單純,必須要特殊的用法才會工作,接下來我會分享實作的方式,要怎麼選就看你了
微軟提供的 DI Container (Microsoft.Extensions.DependencyInjection ),實作了 Microsoft.Extensions.DependencyInjection.Abstractions 抽象,讓我們也可很輕易的換成我們習慣的 DI Container,比如說,內建的 Microsoft.Extensions.DependencyInjection 沒有提供掃描 Assembly 的自動註冊,這時,在應用程式的進入點換成其它的 DI Container,比如 Autofac,就可以使用自動註冊。
只有增加使用 Autofac DI Container 的註冊,其餘的不用動,像是物件的依賴關係,取出物件方式。
Microsoft.Extensions.DependencyInjection 是微軟實作的 DI Container,在 ASP.NET Core 大量的使用,無形之間已經成為一種開發標準,過去,還沒有使用 DI Container 時,我會使用靜態屬性來集中管理物件的生命週期,現在,集中管理物件的生命週期,我又多了一個選擇。
Microsoft.Extensions.DependencyInjection 支援 .NET Fx 4.6.1 以上