首页 / 知识
关于单元测试:Rhino Mocks-如何测试一组方法中的至少一个被调用?
2023-04-14 19:18:00

Rhino Mocks - How can I test that at least one of a group of methods is called?说我有一个要嘲笑的接口IFoo。此界面上有3种方法。我需要测试被测系统至少调用了三种方法之一。我不在乎它会调用多少次或使用什么参数,但是它忽略所有方法并且不接触IFoo模拟的情况就是失败的情况。 我一直在浏览Expect.Call文档,但看不到一种简单的方法。 有什么想法吗? 您可以给Rhino模拟程序一个lambda,以便在调用函数get时运行。然后,此lambda可以增加一个计数器。设置计数器> 1,您就完成了。 由唐·柯比(Don Kirkby)评论: 如果我正确理解了您想检查的接口,请确保至少在三种指定方法中的任何一种上调用了该接口。通过快速参考,我认为您不能在Rhino Mocks中做到这一点。 直觉上,我认为您正在尝试编写易碎的测试,这是一件坏事。这意味着要测试的类的规范不完整。我敦促您仔细考虑一下设计,以便被测类和被测类可以具有已知的行为。 但是,为了举例说明有用,您总是可以这样做(但不要这样做)。
(有人检查我的代码,我已经从脑海里写了这个,至今大约一年都没有写C#的东西了)。 我很想知道您为什么要这么做。 不确定这是否能回答您的问题,但是我发现,如果我需要使用Rhino(或任何类似的框架/库)做任何类似的事情,而我不知道该怎么做,那么我最好只是创建一个手动模拟。 创建一个实现该接口的类并在调用任何方法的情况下将公共布尔字段设置为true将非常容易,您可以为该类指定一个描述性名称,这意味着(最重要的是)下一个查看该名称的人代码将立即理解它。 |
最新内容
相关内容
linux系统光盘命令?
linux系统光盘命令?,系统,工作,信息,数据,地址,命令,一致,名称,盘中,传播,如何在Linux系统下挂载光盘如果Linux系统装的是虚拟机,有可能是光驱linux系统ln命令?
linux系统ln命令?,位置,信息,系统,名称,名字,发行,盘中,文件,链接,命令,如何使用ln命令在linux下创建快捷方式1、方法:右键单击桌面的空白处,在linux系统命令pwd?
linux系统命令pwd?,密码,系统,命令,目录,工作,环境,工具,位置,不了,路径,锁定linux账号的命令是1、锁定Linux用户的命令是passwd+用户名。这个linux系统as命令?
linux系统as命令?,系统,信息,管理,设备,软件,地址,命令,工具,服务,基础,Linux基础命令和原理总结sudo命令:普通用户需要执行root用户权限的解决linux系统监视器命令?
linux系统监视器命令?,系统,情况,工具,信息,实时,电脑,平均,报告,管理,分析,如何查看计算机的显卡型号可以看到你的电脑的显卡型号。方法三:使linux查系统版本命令?
linux查系统版本命令?,系统,信息,地址,名称,设备,命令,版本,电脑,软件,工具,查看linux版本的命令1、在 Linux 中,可以通过以下命令查看操作系统linux系统添加命令?
linux系统添加命令?,系统,密码,工作,简介,术语,地址,命令,文件,目录,用户,Linux执行命令时为何要添加./在类Unix系统中,默认搜索目录中并不包含海康linux系统命令?
海康linux系统命令?,系统,工作,地址,管理,网络,标准,命令,海康,信息,工具,linux系统的命令是什么linux常用命令有pwd命令、cd命令、ls命令、ca脚本调用linux命令?
脚本调用linux命令?,代码,系统,工作,底部,脚本,位置,环境,行用,官网,标准,typescript脚本中怎样运行Linux命令?1、Script可用于记录当前用户的linux电脑系统命令?
linux电脑系统命令?,系统,标准,地址,工作,电脑,命令,信息,设备,适当,目录,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目备份用命令linux系统?
备份用命令linux系统?,系统,信息,设备,数据,软件,认证,命令,文件,备份,目录,Linux查看数据库备份脚步的配置信息命令连接上相应的linux主机,进调用函数命令linux?
调用函数命令linux?,系统,管理,网络,通用,统一,观察,地址,代码,设备,地方,怎么调用system函数,使用Android的linux命令1、int system(const ch