为了账号安全,请及时绑定邮箱和手机立即绑定

将控制器显式添加到 Owin 自托管 WebAPI

将控制器显式添加到 Owin 自托管 WebAPI

C#
UYOU 2021-08-07 18:02:34
我目前正在做一些单元测试,部分功能是调用 API(它有点太多而且工作敏感,无法完全解释它在这里做什么......)。本质上,API 将接收请求,进行一些处理并将该请求转发给相关方。我需要测试该代码,抽象它是不可行的,因为它已经被很好地抽象了,但是有一些HttpClient我无法删除的硬依赖(在某个阶段,我将不得不调用它......)。我一直在使用 Owin TestServer 创建一个内存中的 webapi 服务器,在此处查看 Strathweb:https ://www.strathweb.com/2013/12/owin-memory-integration-testing/大卫惠特尼在这里:http : //www.davidwhitney.co.uk/Blog/2015/01/07/testing-an-asp-net-webapi-app-in-memory/和 DontCodeTired:http ://dontcodetired.com/blog/post/In-Process-Http-Server-for-Integration-Test-Faking-with-Owin-Katana-and-WebAPI我遇到的问题是,我创建的用于发出请求的 WebApi 服务器将自动检测项目中的其他 API 并针对该 API 运行请求,而不是使用我的单元测试/模拟控制器。如何使用类中使用的HttpConfiguration对象WebApp.Start<**Startup**>()只使用一个控制器?我的意思是这个类:internal class Startup{    public void Configuration(IAppBuilder app)    {        var config = new HttpConfiguration();        config.MapHttpAttributeRoutes();        config.EnsureInitialized();        config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;        app.UseWebApi(config);    }}我不清楚如何解决这个问题,因为所有在线示例都在谈论映射 HTTP 路由,而不是删除/手动添加路由。如果您有任何问题/批评,请添加评论,我会尽我所能更新问题,我觉得由于工作原因,我可以发布的内容可能会受到一些限制。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信