【发布时间】:2015-05-30 01:25:41
【问题描述】:
我有一个带有 MVC5 前端和 WebAPI2 后端的 n 层 MVC 应用程序。
我通常使用 RestSharp 在两者之间调用
出于测试/开发目的(主要是为了能够端到端使用 Glimpse 或其他分析工具),我希望能够轻松切换开关以在单层模式下使用应用程序。
我可以手动调用适当的 WebAPI 控制器类和方法,但这会产生很多重复的逻辑。
既然我已经建立了正确设置所有参数的 URL,有没有办法调用控制器(或一些可以在控制器之间选择的工厂)并说“嘿,假装这只是通过电线进来的,然后帮我处理”
【问题讨论】:
-
OWIN 自主机是我用于 Web API 单元测试的主机。
-
这仍然会通过 http 将事情发送到进程之外,不是吗?
-
基于 URL 路由在 WebAPI 中的工作原理,我认为这既不太可行也不太可取。到时候就自取其辱了。如果您只想测试方法签名并且您已经设法与 HttpContext 保持分离(或可以模拟它),那么您最好直接从测试代码中调用控制器。否则,通过电线发送。这是保证成功集成的唯一真正方法。
标签: c# asp.net-mvc asp.net-web-api