gpt4 book ai didi

c# - 如何对输入到方法的列表小于 100 进行单元测试

转载 作者:行者123 更新时间:2023-11-30 15:03:56 25 4
gpt4 key购买 nike

我有这个测试

[Test]
public void SaveInventoryItemLoad_Will_Call_WCF_Service_SaveInventoryItemLoad()
{
adapter.SaveInventoryItemLoad(new List<InventoryItemLoadProxy>());
itemMasterBusinessClientMock.Verify(x => x.SaveInventoryItemLoad(It.IsAny<List<InventoryItemLoadProxy>>()), Times.Once());
}

这很好,因为我已经在 WCF 端进行了测试,该方法做了我想要的,所以我只需要说“嘿,你调用了服务吗?是的!”。现在虽然......我需要将所述列表分解为 10 个或更少的夹头,即 23 个项目的列表将是三个 10、10 和 3 的列表。所以第一步当然是编写一个单元测试来验证我没有将超过十个项目推送到 SaveInventoryItemLoad 方法。我当然可以验证该方法被调用了 X 次,但这不是我想要的。我想确保提供给该方法的列表 <= 10 但我似乎无法弄清楚如何。我浏览了最小起订量快速入门,但不知道该怎么做。

我想这会以某种方式做到这一点

// Verify setter with an argument matcher
mock.VerifySet(foo => foo.Value = It.IsInRange(1, 5, Range.Inclusive));

但我似乎无法做到这一点。我想我以前从未遇到过这个。有人知道怎么做吗?

谢谢

最佳答案

我没用过 Moq,只用过 Rhino.Mocks,但我认为你应该能够从 It.IsAny<List<InventoryItemLoadProxy>> 更改你的原始代码限制它不是任何列表,而是不超过 10 个项目的列表。

在线快速查看,语法可能类似于 It.Is<List<InventoryItemLoadProxy>>(list => list.Count <= 10) .

关于c# - 如何对输入到方法的列表小于 100 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11038786/

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