小编Ava*_*gar的帖子

访问方法'System.Web.Http.HttpConfiguration.DefaultFormatters()'失败

我的单元测试我的WEB API控制器有问题,我正在使用moq模拟我的存储库,进行设置和响应.然后使用模拟存储库启动控制器.问题是当我尝试从控制器执行调用时,我得到一个异常:

尝试通过方法'System.Web.Http.HttpConfiguration..ctor(System.Web.Http.HttpRouteCollection)'访问方法'System.Web.Http.HttpConfiguration.DefaultFormatters()'失败.


在EyeShield.Api.Tests.PersonsControllerTests.Get_Persons_ReturnsAllPersons()的System.Web.Http.HttpConfiguration..ctor()的System.Web.Http.HttpConfiguration..ctor(HttpRouteCollection路由)中

说实话,不知道这里可能出现什么问题.有谁知道这里可能存在什么问题?

控制器:

using System;
using System.Net;
using System.Net.Http;
using EyeShield.Api.DtoMappers;
using EyeShield.Api.Models;
using EyeShield.Service;
using System.Web.Http;

namespace EyeShield.Api.Controllers
{
    public class PersonsController : ApiController
    {
        private readonly IPersonService _personService;

        public PersonsController(IPersonService personService)
        {
            _personService = personService;
        }

        public HttpResponseMessage Get()
        {
            try
            {
                var persons = PersonMapper.ToDto(_personService.GetPersons());
                var response = Request.CreateResponse(HttpStatusCode.OK, persons);
                return response;
            }
            catch (Exception e)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Global.asax中:

using EyeShield.Data.Infrastructure;
using EyeShield.Data.Repositories;
using EyeShield.Service;
using Ninject;
using …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq asp.net-web-api

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

moq ×1

unit-testing ×1