我更喜欢让我的处理程序摆脱 ASP.NET 基础设施,因为它很难测试(即使在 ASP.NET Core 中也是如此)。但有时您会有像 UserManager(我想有一天知道它为什么不是一个接口)、HttpContext 等依赖项,单元测试会变成一个模拟地狱。
我尝试使用集成测试来解决这个问题,通过创建 TestServer 并为每个 API 调用初始化所有 ASP.NET 基础架构。这样做效果还不错,但有时看起来有些过度,特别是当我想测试处理程序的简单逻辑时。虽然它解决了模拟 ASP.NET 基础结构的技术问题,但它仍然保留了将 ASP.NET 基础设施引入处理程序的架构问题(如果您认为它是这样的)。
我想知道有哪些推荐的方法来处理这个问题?
我尝试使用集成测试来解决这个问题,通过创建 TestServer 并为每个 API 调用初始化所有 ASP.NET 基础架构。这样做效果还不错,但有时看起来有些过度,特别是当我想测试处理程序的简单逻辑时。虽然它解决了模拟 ASP.NET 基础结构的技术问题,但它仍然保留了将 ASP.NET 基础设施引入处理程序的架构问题(如果您认为它是这样的)。
我想知道有哪些推荐的方法来处理这个问题?