我的单元测试我的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)