gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:02:23 25 4
gpt4 key购买 nike

我在 asp.net web api 中有删除方法。

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

不确定如何对其进行单元测试。我的部分代码

[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);
}

最佳答案

您没有从 Controller 返回任何东西,因此您可以测试的结果非常少。

您可以检查存储库上的删除是否调用了 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());
}

关于c# - 在 web api 中删除项目单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37687434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com