【发布时间】:2017-06-15 09:05:52
【问题描述】:
我更喜欢让我的处理程序不受难以测试的 ASP.NET 基础设施的影响(是的,即使在 ASP.NET Core 中也是如此)。但有时它会发生,并且您有一个像 UserManager(我想知道有一天为什么它不是接口)、HttpContext 等的依赖项,并且单元测试变成了一个模拟地狱。
我尝试使用集成测试来处理它,方法是创建一个 TestServer 并为每个 api 调用初始化所有 ASP.NET 基础结构。它工作得很好,但如果我想测试我的处理程序的简单逻辑,有时似乎有点矫枉过正。虽然它解决了模拟 ASP.NET 基础结构的技术问题,但它保留了将 ASP.NET 基础结构放入处理程序的架构问题(如果您这么认为的话)。
我想知道有哪些推荐的处理方法?
【问题讨论】:
-
如果您对抽象 UserManager 和 Identity 感兴趣,请查看我在这里给出的答案:stackoverflow.com/a/38464229/5233410
-
@trevorc,这些都是很好的方法。你能写出并回答你的经历吗?
标签: asp.net asp.net-web-api asp.net-core mediatr