`
梁利锋
  • 浏览: 81704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多
  最近,把我的 DbEntry 的客户端源码控制改成了 VisualSvn + SvnBridge 的方式,感觉这种非独占方式 check-out 很适合广域网用户,只是 SvnBridge 还有一些不完善,于是,下载了它的源码版本,自己编译,在最近一次比较大的 check-in 之后,另一台机器执行 update 总是不成功,于是再去下载最新的 SvnBridge 源码,也没有效果,最后重新 check-out 反而成功,也许是服务器超时造成的?

  在浏览 SvnBridge 的压缩包的时候,发现了它是使用 xunit 进行单元测试的,这个听说过,据说是原 nunit 作者的新作,利用了更多的 .net 的语言特性,应该是更好用的吧;另外,发现了一个奇怪的 dll 名:Rhino.Mocks.dll。Rhino 我记得是一个 Java 实现的 JavaScript 引擎,不过,Rhino.Mocks 是什么鬼?

  搜索 Rhino.Mocks,发现几篇介绍的文章,原来是一个 mock 框架,和那个 JavaScript 引擎没什么关系。

  以前一直都是直接手写 Mock 类的,对于 Mock 框架没有什么认识,最近因为工作的关系,接触到 MockLib ,发觉对于一些复杂的接口,用 Mock 框架确实可以减少一些重复劳动。

  在介绍的文章 Rhino.Mocks 中,有 一篇 介绍的挺好的,做了 EasyMock,JMock,NMock, NMock2 和 Rhino.Mocks 的比较,很不错。文中介绍 Rhino 做 Record 的语法如下:
subMock.Receive(message);
Expect.On(subMock).Call(subMock.MultiplyTwo(5)).Return(10);
mocks.ReplayAll();

  无返回值的函数语法简直太自然了!这里,因为不是使用字符串来描述函数名,所以,有智能提示,有编译时运行检查,也支持重构工具,非常棒。不过,既然这种“Record/Replay”模型这么自然,而另外那种“Expectation”模型也依然存在,可能说明,这种方式还是有一些特殊的地方,不如“Expectation”模型吧。

  看着,突然想到 .net 3.5 的 expression tree,这种延迟运算方式如果运用于“Expectation”模型应该也可以,而且,同样可以取得“Record/Replay”模型的智能提示、编译时运行检查、支持重构工具等特性,简直太完美了!

  不管怎样,先去下载 Rhino Mocks 再说。到了它的下载页,赫然发现 Rhino Mocks 3.5 Beta - For .Net 3.5 的字样,哈,看来他应该比我早想到这个主意了吧 :D

  再次搜索 Rhino Mocks 3.5,发现了 一篇介绍的文章,语法上比我想象的复杂一些,不过还是很酷,回头研究一下,或许就使用到项目中去吧。
1
1
分享到:
评论

相关推荐

    kangaroo 犀牛插件 物理建模 力学

    在产品设计中,它可以用于测试不同材料和形状的力学特性,以便选择最佳设计方案。此外,Kangaroo还可以应用于景观设计,模拟植物生长、地形变形等自然现象,为设计带来更多的创新可能。 在压缩包中,有两个关键文件...

    犀牛5,6,7 GH汉化包.zip

    描述中提到的"犀牛5,6,7 GH汉化包,方便好用"表明这个汉化包是为了让中国用户更方便地使用Grasshopper。汉化通常意味着将软件界面从英文翻译成中文,使得不熟悉英文的用户也能轻松理解和操作。这个汉化包适用于Rhino...

    OR犀牛插件

    "OR犀牛插件"是针对3D建模软件Rhino(犀牛)设计的一款高效辅助工具,Orang_v1.2是该插件的公司版本,被标注为"ok版本",意味着它经过了测试并被认为在功能上是稳定可靠的。Rhino是一款广泛应用于工业设计、建筑设计...

    ASP源码—犀牛鸟在线工具整站源码.zip

    4. **测试与调试**:在本地环境中部署源码,进行测试以确保所有功能正常。 5. **优化与改进**:根据需求或现有问题,对源码进行优化,提升性能或增加新的功能。 总之,ASP源码的深入学习和分析有助于提升Web开发...

    犀牛测试

    引导机器人 Discord.js Bot处理程序的示例。 由“白痴指南社区”更新和维护。 多年以前,Guide Bot实际上是我在官方discord.js服务器上拥有的一个小机器人。...在项目文件夹(无论位于何处)中的命令提示符下,运行

    prog-benchmark-javajs:测试犀牛和纳斯霍恩

    现在,我测试了几个引擎,犀牛和纳斯霍恩。 结果 犀牛胜于Nashorn rhino:nashorn = 60:648(ms)。 //定义1000个功能测试 rhino:nashorn = 2:816(ms)。 //使用功能1000时间测试 犀牛:纳斯霍恩= 1:96(ms)。...

    Python入门教程超详细1小时学会Python_犀牛基础教程详细版.pdf

    在描述中提到的一个实际示例中,对比了使用Java和Python来执行一个简单的任务——测试局域网中IP地址的连通性。在Java中,完成这个任务需要编写类文件、main方法、编译成字节码,并可能需要额外的脚本来运行。相比之...

    Python入门教程超详细1小时学会Python_犀牛基础教程详细版.docx

    在“Python入门教程超详细1小时学会Python_犀牛基础教程详细版”中,重点讲解了Python作为工具的优势以及如何快速入门。 **为什么选择Python** Python常用于自动化任务,例如在给定的例子中,测试局域网中电脑的...

    目标检测算法-非洲野生动物(水牛、大象、犀牛、斑马)识别检测数据集1504张(含yolo格式标签、已划分训练验证测试集).zip

    目标检测算法-非洲野生动物(水牛、大象、犀牛、斑马)识别检测数据集1504张(含yolo格式标签、已划分训练验证测试集).zip 【数据集介绍】 数据集分为三个子集: 训练集:包含 1052 幅图像 验证集:包括 225 幅图像 ...

    犀牛grasshopper一些平时的练习

    在"犀牛grasshopper一些平时的练习"这个主题中,我们可以看到一系列的练习文件,这些文件展示了Grasshopper在实际操作中的各种技巧和应用。下面将对这些文件进行逐一解析,以便深入理解Grasshopper的功能和用法: 1...

    H5小游戏源码 犀牛溜冰场.zip

    在这款名为“犀牛溜冰场”的游戏中,玩家可能需要控制一只犀牛在溜冰场上滑行,避开障碍物并收集奖励。游戏设计的核心包括游戏逻辑、用户交互和视觉效果三大部分。游戏逻辑主要由JavaScript实现,通过定义对象、事件...

    4类动物图片数据集共4000张(斑马、犀牛、大象和水牛)

    这是一个关于计算机视觉领域,特别是图像分类任务的数据集,包含了4种特定动物——斑马、犀牛、大象和水牛的图片。这个数据集总计有4000张图像,每种类别的动物都有相等数量的图片,这为训练深度学习模型提供了一个...

    犀牛坦克1

    【犀牛坦克1】是一个与...在样例输入中,【样例一】和【样例二】给出了具体的测试用例,通过计算可以得到对应的输出结果。在实际编程实现时,需要注意优化算法以处理数据范围内的所有可能情况,同时确保精度和效率。

    动物检测yolo格式数据集(水牛 、大象 、犀牛 、斑马四类)

    动物检测yolo格式数据集(水牛 、大象 、犀牛 、斑马四类),训练集、验证集、测试集已全部划分好了,可以直接在yolo系列模型使用,包括yolov10

    Grasshopper_to_ETABS:将犀牛蚱geometry的几何图形导出到ETABS以进行结构分析

    仓库所有权练习:在此处插入部门:-在此处插入原始作者:-在此处插入当前存储库所有者的联系方式:-在此处插入经过测试犀牛版本::在此处插入Dynamo版本::在此处插入安装说明如果您对Rhino或Grasshopper使用了...

    Iperf软件及配置指导

    6. **结果分析**:测试结束后,查看报告中的带宽、延迟、丢包等信息,分析网络性能。 在提供的文档《iperf2系列版本使用指导.doc》中,您将找到关于iperf2的详细操作指南,包括各种参数的用法和实例。对于Windows...

    cc1110 测试程序

    2. **射频模块配置**:在CC1110测试程序中,射频模块的配置涉及设置发射功率、频率、频道、调制方式、扩频码等参数。这些设置直接影响到无线信号的传输距离、抗干扰能力和能效。例如,正确配置信道可以避免与其他...

Global site tag (gtag.js) - Google Analytics