我更喜欢让我的处理程序不受难以测试的 ASP.NET 基础设施的影响(是的,即使在 ASP.NET Core 中也是如此)。但有时它会发生并且你有一个像 UserManager 的依赖项(我想知道有一天为什么它不是一个接口),HttpContext 等等,并且单元测试变成了一个模拟地狱。
我尝试使用集成测试来处理它,方法是创建一个 TestServer 并为每个 api 调用初始化所有 ASP.NET 基础结构。它工作得很好,但如果我想测试我的处理程序的简单逻辑,有时似乎有点矫枉过正。虽然它解决了模拟 ASP.NET 基础结构的技术问题,但它保留了将 ASP.NET 基础结构放入处理程序的架构问题(如果您这么认为的话)。
我想知道处理它的推荐方法是什么?