简体   繁体   English

在web api中删除项目单元测试

[英]Delete an item unit test in web api

I have the delete method in asp.net web api. 我在asp.net web api中有删除方法。

[HttpDelete("{id}")]
public void Delete(int id)
{
    _repository.DeleteRestrictions(id);
}

Not sure how to do an unit test for it. 不知道如何进行单元测试。 My partial code 我的部分代码

[Fact]
public void DeleteRestrictionsRepository()
{
    var mockRepository = new Mock<IRepository>();
    var repo = mockRepository.Object;
    var demoItem = GetTestItems();
    var controller = new MyController(repo);
    var result = controller.Delete(2) as OkNegotiatedContentResult<Restrictions>;
    controller.Delete(123);
}

You're not returning anything from the controller, so there is very little result you can test. 你没有从控制器返回任何东西,所以你可以测试的结果很少。

You can check that the Delete upon the repository was called tho. 您可以检查存储库上的删除是否已被调用。

[Fact]
public void DeleteRestrictionsRepository()
{
    const int DeletedId = 123;
    var mockRepository = new Mock<IRepository>();
    var controller = new MyController(mockRepository.Object);
    controller.Delete(DeletedId);

    mockRepository.Verify(v => v.DeleteRestrictions(DeletedID), Times.Once());
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM