【问题标题】:Running mock more than once运行mock多次
【发布时间】:2013-01-15 03:59:29
【问题描述】:

有人建议我在 Mocking 之后测试一些方法。我必须像 5 一样多次运行这个模拟。我想知道它是否可以在 lambda 表达式中完成,或者我必须循环它。 谢谢

//when you know the parameter values to expect
mockEmailRequest.Verify(r=>r.EmailRecevied(expectedEmail, expectedId));

//when you just want to verify some detail about the values
mockEmailRequest.Verify(r=>r.EmailRecevied(It.Is<EmailResponse>(r=>r.Subject ==  "Something"),   It.Is<int>(i=>i > 17)));

【问题讨论】:

  • 有 Mock.VerifyAll()。不确定它是否会起作用,
  • 你的问题不清楚。你想验证什么?您是否使用给定的一组参数调用了EmailRecevied 5 次?
  • 是的,我想验证 EmailRecevied 是否针对给定的一组参数调用了 5 次。谢谢
  • 请看我的回答

标签: c# .net nunit moq


【解决方案1】:

你应该使用这个代码:

mockEmailRequest.Verify(r=>r.EmailRecevied(It.Is<EmailResponse>(r=>r.Subject ==  "Something"), It.Is<int>(i=>i > 17)), Times.Exactly(5));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-07
    • 2020-07-24
    • 2020-03-29
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    相关资源
    最近更新 更多