回到 .Net Framework 时代,当我开发 ASP.Net mvc 应用程序时,我会将所有主要问题分离到他们自己的项目中,例如数据库、域等。我还会创建一个名为 IOC 的项目,我将在其中放置我的 Ninject注入了我所有类型的 IOC 容器。这使得从 NUnit 集成测试项目访问容器变得容易。但是,使用 .Net 6.0,依赖注入是在 Asp.Net 网络应用程序的 Program.cs 文件中完成的。
是否有可能实施像我上面描述的那样的策略,我可以将我的依赖注入分离到一个项目中,并从我的集成测试中访问它?我不想使用 WebApplicationFactory 或任何类似的东西。我只是希望能够集成测试我自己的类型,例如 IRepository、IService1、IService2 等。为测试手动创建这些类型很痛苦,因为它们每个都有依赖项,例如 IMapper、IAppLogger。 . .等等 另外,最好测试 IOC 容器本身以确保它可以构建并具有所有必要的依赖项。
非常感谢。