WebAPI2 Post方法的单元测试方法

时间:2018-07-03 13:54:18

标签: c# unit-testing asp.net-web-api2 http-post

我正计划为我的WebAPI控制器发布方法创建一个单元测试项目。

我的WebAPI控制器如下,

[RoutePrefix("api/brands")]
public class HomeController : ApiController
{
    [HttpGet]
    [Route("{brandID}/employee/{employeeID}")]
    public IHttpActionResult EnableParticipation(int brandID, int employeeID)
    {
        try
        {
            RequestService _requestService = new RequestService();
            bool result = _requestService.EnableParticipation(brandID, employeeID);
            return Ok(result);
        }
        catch (Exception)
        {
            return InternalServerError();
        }
    }
}

我需要为此WebAPI控制器的HTTP Post方法编写一个单元测试类。

通过模拟来做到这一点的最佳方法是什么,以使它不会命中数据库??

这是到目前为止我尝试过的...

[TestClass]
public class HomeTest
{
    [TestMethod]
    public void EnableParticipation()
    {
        var controller = new HomeController();
        //IHttpResponse response  = controller.EnableParticipation(1, 2);
        // How to mock the call
    }
}

0 个答案:

没有答案