[英]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.