使用RouteAttribute对ApiController进行单元测试

兄弟姐妹

我认为在网络上进行的简单搜索远远不止于此。

最接近解决方案的是最先使用Attributes进行路由的解决方案:AttributeRouting无法与HttpConfiguration对象配合使用来编写集成测试

但是ASP.NET Web Api 2呢?

我的单元测试

HttpConfiguration config = new HttpConfiguration();
// config.MapHttpAttributeRoutes(); // This doesn't work. I guess there is needed some more plumbing to know what Controllers to search for attributes, but I'm lost here.
HttpServer server = new HttpServer(config);

using (HttpMessageInvoker client = new HttpMessageInvoker(server))
{
    using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, "http://localhost/api/accounts/10"))
    using(HttpResponseMessage response = client.SendAsync(request, CancellationToken.None).Result)
    {
        response.StatusCode.Should().Be(HttpStatusCode.Created);
    }
}

如何注入控制器,以便它读取控制器上的属性并设置路由,以便实际上可以进行一些测试?

兄弟姐妹

这太荒谬了...我使用它来工作:

config.MapHttpAttributeRoutes();
config.EnsureInitialized();

因此,基本上,这将运行的配置初始化config.MapHttpAttributeRoutes()我想,我会以为这是自动完成的。

但是现在可以了,我很高兴。

有关此问题的更多信息,请参见:http : //ifyoudo.net/post/2014/01/28/How-to-unit-test-ASPNET-Web-API-2-Route-Attributes.aspx

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用实体框架进行单元测试的单元测试

来自分类Dev

使用Google测试进行单元测试

来自分类Dev

对使用RTOS的项目进行单元测试

来自分类Dev

使用Shim for ZipFile进行单元测试

来自分类Dev

使用NSURLSession进行单元测试

来自分类Dev

使用ReSharper进行AngularJS单元测试

来自分类Dev

使用ReSharper进行AngularJS单元测试

来自分类Dev

使用StaticLoggerBinder对类进行单元测试

来自分类Dev

Django使用ForeignKey进行单元测试

来自分类Dev

使用PostSharp进行正确的单元测试

来自分类Dev

使用Automake进行单元测试

来自分类Dev

使用Jasmine进行单元测试$ modal

来自分类Dev

使用sinon框架进行单元测试

来自分类Dev

使用Microsoft EntityFramework进行单元测试

来自分类Dev

使用MockServletContext进行单元测试

来自分类Dev

使用Azure DocumentDB进行单元测试

来自分类Dev

使用Firebase进行单元测试

来自分类Dev

使用Mockito进行单元测试LazyLogging

来自分类Dev

使用boost :: multiprecision进行单元测试

来自分类Dev

使用Mockito对POJO进行单元测试

来自分类Dev

使用ReSharper进行AngularJS单元测试

来自分类Dev

对使用$ resource的服务进行单元测试

来自分类Dev

使用sinon框架进行单元测试

来自分类Dev

使用Moq进行单元测试

来自分类Dev

使用 MockEndPointsandSkip 进行 Camel 单元测试

来自分类Dev

使用 Moq 框架进行单元测试

来自分类Dev

使用 createSpyObj 对 observable 进行单元测试

来自分类Dev

在单元测试中使用passThrough进行角度测试

来自分类Dev

使用Python单元测试进行Scala测试