gpt4 book ai didi

c# - 在 RhinoMocks 中重置模拟

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

我正在使用 RhinoMocks 编写 NUnit 测试。其中一项测试如下所示:

mock = MockRepository<IFoo>.CreateMock();

// Arrange
// During the Arrange part, mock.MyMethod() gets called several times.

// Act
// During the Act part, mock.MyMethod() should be called exactly once.

// Assert
mock.AssertWasCalled(x => x.MyMethod()).Repeat.Once();

这自然会失败,因为 MyMethod() 已被调用不止一次。

有没有一种方法可以在 Act 部分之前重置对 MyMethod() 的调用计数,以便仅捕获重置后进行的调用?

最佳答案

我认为@alexl 引用的 SO 问题应该可以帮助您。但是我很好奇你在什么情况下会在测试的 Act 阶段之外调用你的模拟。这可能是您的对象之间耦合太紧的迹象。

作为一种可能的解决方法,如果在 Arrange 期间没有保留状态信息,您总是可以创建另一个仅在 Arrange 阶段使用的 IFoo 模拟。

关于c# - 在 RhinoMocks 中重置模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5727501/

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