对 Rhino Mocks 中的方法调用进行计数

2024-03-03

所以:我想用比 An()、Ounce() 或 At Least Once() 更具体的方法来计算 Rhino Mocks 中的方法调用。有什么机制可以做到这一点吗?


诀窍是使用 Repeat.Times(n),其中 n 是次数。

令人惊讶的是,即使该方法的调用频率比预期更频繁,以下测试也会通过:

[Test]
public void expect_repeat_n_times_does_not_work_when_actual_greater_than_expected() {
  const Int32 ActualTimesToCall = 6;
  const Int32 ExpectedTimesToCall = 4;

  var mock = MockRepository.GenerateMock<IExample>();
  mock.Expect(example => example.ExampleMethod()).Repeat.Times(ExpectedTimesToCall);

  for (var i = 0; i < ActualTimesToCall; i++) {
      mock.ExampleMethod();
  }

  // [?] This one passes
  mock.VerifyAllExpectations();
}

要解决此问题,请使用以下方法:

[Test]
public void aaa_repeat_n_times_does_work_when_actual_greater_than_expected() {
  const Int32 ActualTimesToCall = 6;
  const Int32 ExpectedTimesToCall = 4;

  var mock = MockRepository.GenerateMock<IExample>();

  for (var i = 0; i < ActualTimesToCall; i++) {
      mock.ExampleMethod();
  }

  // This one fails (as expected)
  mock.AssertWasCalled(
      example => example.ExampleMethod(),
      options => options.Repeat.Times(ExpectedTimesToCall)
  );
}

Source: http://benbiddington.wordpress.com/2009/06/23/rhinomocks-repeat-times/ http://benbiddington.wordpress.com/2009/06/23/rhinomocks-repeat-times/(在那里寻找解释)

编辑:仅在开始时进行总结,感谢您的有用回复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 Rhino Mocks 中的方法调用进行计数 的相关文章

随机推荐

  • 将秒转换为分钟、小时和天的函数

    问题 编写一个程序 要求用户输入秒数 其工作原理如下 一分钟有 60 秒 如果用户输入的秒数大于或等于 60 则程序应显示该秒数中的分钟数 一小时有 3600 秒 如果用户输入的秒数大于或等于 3600 则程序应显示该秒数内的小时数 一天有
  • 添加 Sprite 的多个实例?

    我正在构建一个自定义图像选择器 它显示 6 个替代版本 然而 照片只显示在第 6 件商品上 model selectedPhoto返回一个 Sprite 并且不会让应用程序正常运行 但是当我使用 model photos ii 每个项目都添
  • 何时在 TypeScript / Angular 中使用接口和模型

    我最近观看了有关 Angular 2 with TypeScript 的教程 但不确定何时使用接口以及何时使用数据结构模型 接口示例 export interface IProduct ProductNumber number Produc
  • Blazor 服务器端应用程序上的子 Blazor 应用程序

    将客户端 Blazor 应用添加到服务器端 Blazor 应用 Hi 继续这里的有用答案 升级到预览版 6 后 Blazor 子应用程序出现 404 错误 https stackoverflow com questions 56586677
  • 如何在新的 AppDomain 中运行 WPF 应用程序?执行程序集失败

    我正在尝试使用应用程序域从控制台应用程序启动 WPF 应用程序 但当我这样做时 我会收到意想不到的错误 独立运行 WPF 应用程序可以正常工作 这段代码也有效 var baseDirectory AppDomain CurrentDomai
  • 更多 coproc 问题

    这是后续bash coproc 和剩余的 coproc 输出 https stackoverflow com questions 7651946 我最终决定一次一行处理文件的习惯用法是 coproc cat auto etc build c
  • 如何使用 isalnum、isdigit、isupper 来测试字符串的每个字符? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试制作一个密码强度模拟器 它要求用户输入密码 然后返回分数 我在用 islanum isdigit isupper 尝试看看输入的
  • 在 C 中编译/匹配 POSIX 正则表达式

    我正在尝试匹配字符串中的以下项目pcode u后跟 1 或 2 位数字 phaseu phasep x 被非单词字符包围 y 被非单词字符包围 z 被非单词字符包围 我尝试使用 POSIX 正则表达式函数 如下所示 实现正则表达式匹配 但有
  • GoogleHadoopFileSystem 无法转换为 hadoop FileSystem?

    原来的问题是尝试在 Google Cloud 上部署 Spark 1 4 https stackoverflow com questions 31466206 spark 1 4 image for google cloud 下载并设置后
  • WCF 最佳性能设置

    您好 我正在使用 WCF 创建一个 API 我的问题可以分为两个单独的问题 1 我有很多电话 例如我有与客户 产品 订单 员工有关的电话 我的问题是所有这些都应该进入一个公共接口类 例如 public interface IRestServ
  • Mac 终端重新启动后无法运行大多数命令

    我正在使用Mac 我有一个定制终端zsh 有一段时间就好了 但在我重新启动计算机后 它的行为开始有所不同 终端停止运行命令 例如rake or rails 我已经使用rails创建了应用程序 但是使用了类似的rails命令rails v现在
  • 前面的字长

    我必须创建一个带有单个参数的函数word并返回前面单词的平均长度 以字符为单位 word在文字中 如果单词恰好是文本中出现的第一个单词 则该出现的前一个单词的长度应为零 例如 gt gt gt average length the 4 4
  • 新创建的创作资源未显示在 Luis 门户中

    我在 Luis Portal 中添加了创作资源并导入了一些应用程序 添加的创作资源最初出现在 Azure 门户和 Luis 门户中 然后 资源突然在 Luis 门户中消失 现在我无法使用 应用程序 页面中的下拉菜单选择资源 因为它不再显示在
  • BrowserslistError:未知的 Android 版本 67

    我使用创建了一个角度库angular 8 and CLI 8 我正在尝试构建库 但收到错误 ng build
  • ruby 中最短的 hex2bin?

    在 ruby 中将十六进制字符串转换为二进制字符串的最短方法是什么 例如 class def hex2bin end end AB12345678 hex2bin class String def hex2bin scan map x x
  • JFileChooser 显示在全屏 JFrame 之外

    import java awt DisplayMode import java awt GraphicsDevice import java awt GraphicsEnvironment import java awt event Act
  • 如何更改文本块背景?

    这是我的xaml structure
  • 如何防止.exe类型文件在网站上传?

    假设我们有一个 example exe 文件 我们首先将该文件放入一个新文件夹中 然后使用任何压缩软件压缩该文件夹 我们可以阻止压缩文件夹在网站中上传吗 我们怎样才能做到这一点 你不能prevent它 因为在提交之前你无法知道浏览器将要提交
  • 为什么我获得了未分配内存的读写权限?

    我对下面代码片段的行为感到困惑 我已经声明了一个 char 指针并将其指向分配大小 1 sizeof char 的内存位置 char src src char malloc 1 sizeof char strcpy src Copy tex
  • 对 Rhino Mocks 中的方法调用进行计数

    所以 我想用比 An Ounce 或 At Least Once 更具体的方法来计算 Rhino Mocks 中的方法调用 有什么机制可以做到这一点吗 诀窍是使用 Repeat Times n 其中 n 是次数 令人惊讶的是 即使该方法的调