gpt4 book ai didi

c# - 最小起订量:我可以验证一个 setter 只被调用了 N 次吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:32 26 4
gpt4 key购买 nike

我正在测试一个有公共(public) setter 但有私有(private) getter 的属性。我知道我可以验证是否使用给定值调用了 setter 两次:

mockTable.VerifySet(m => m.CurrentIndex = 0, Times.Once());
mockTable.VerifySet(m => m.CurrentIndex = 1, Times.Once());

但我似乎无法验证 setter 是否被调用了两次。

这可能吗?

谢谢

最佳答案

您可以使用 Times.Exactly 方法来完成:

mockTable.VerifySet(m => m.CurrentIndex = 0, Times.Exactly(N));

更新在您在评论中澄清之前,我第一次错误地理解了您的观点。

您可以在测试中编写以下断言:

mockTable.VerifySet(m => m.CurrentIndex = 0, Times.Once);
mockTable.VerifySet(m => m.CurrentIndex = 1, Times.Once);
mockTable.VerifySet(m => m.CurrentIndex = It.IsNotIn(0, 1), Times.Never);

它正是在测试您想要的行为:只有当 CurrentIndex 设置正好两次时,测试才会通过:一次为 0,另一次为 1,并且不允许其他值/时间。

关于c# - 最小起订量:我可以验证一个 setter 只被调用了 N 次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920922/

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