使用 rhino 模拟为每个调用返回不同的实例
我有这样的代码:
Expect.Call(factory.CreateOrder())
.Return(new Order())
.Repeat.Times(4);
当调用四次时,每次都会返回相同的实例。我想要返回差异实例。我希望能够做这样的事情:
Expect.Call(factory.CreateOrder())
.Return(() => new Order())
.Repeat.Times(4);
可以通过某种方式完成吗?
I've got this code:
Expect.Call(factory.CreateOrder())
.Return(new Order())
.Repeat.Times(4);
When this is called four times, every time the same instance is returned. I want difference instances to be returned. I would like to be able to do something like:
Expect.Call(factory.CreateOrder())
.Return(() => new Order())
.Repeat.Times(4);
Can this be done in some way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
而不是使用
Try using
This 将每次调用委托,创建一个新对象。
Instead of using
Try using
This will call the delegate each time, creating a new object.
通过每次指定不同的返回值,重复您期望的 4 次(注意
Repeat.Once()
)更新: 我相信以下内容也能工作:
Repeat 4 times your expectation by specifying a different return value each time (notice the
Repeat.Once()
)UPDATE: I believe the following will work as well:
Patrick Steele 建议使用这种扩展方法:
请参阅他的博客文章了解更多详细信息。
Patrick Steele suggested this extenstion method:
See his blog entry for more details.