最近,把我的
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,发现了
一篇介绍的文章,语法上比我想象的复杂一些,不过还是很酷,回头研究一下,或许就使用到项目中去吧。
分享到:
相关推荐
犀牛 grasshopper 中的重要插件,可以根据力学建立物理模型,分析类插件 用处巨大。
引导机器人 Discord.js Bot处理程序的示例。 由“白痴指南社区”更新和维护。 多年以前,Guide Bot实际上是我在官方discord.js服务器上拥有的一个小机器人。...在项目文件夹(无论位于何处)中的命令提示符下,运行
RHINO犀牛基础教程,很好的犀牛软件教材
现在,我测试了几个引擎,犀牛和纳斯霍恩。 结果 犀牛胜于Nashorn rhino:nashorn = 60:648(ms)。 //定义1000个功能测试 rhino:nashorn = 2:816(ms)。 //使用功能1000时间测试 犀牛:纳斯霍恩= 1:96(ms)。...
目标检测算法-非洲野生动物(水牛、大象、犀牛、斑马)识别检测数据集1504张(含yolo格式标签、已划分训练验证测试集).zip 【数据集介绍】 数据集分为三个子集: 训练集:包含 1052 幅图像 验证集:包括 225 幅图像 ...
几年前,我带领的一个测试小组遗漏了一个严重的bug到网上,当用户反馈这个bug后,我们对它进行了深入的分析和重现,最终所有人一致认为,这个bug能够发生实在是机缘巧合,因为它需要多个条件同时发生才有可能触发,...
犀牛溜冰场HTML5游戏源码,运行需要服务器环境,已经反复测试,放心使用。
仓库所有权练习:在此处插入部门:-在此处插入原始作者:-在此处插入当前存储库所有者的联系方式:-在此处插入经过测试犀牛版本::在此处插入Dynamo版本::在此处插入安装说明如果您对Rhino或Grasshopper使用了...
中开发的。 RhinoGui 的设计使用户可以感受 5 轴关节式 Rhino 机器人的运动学。 RhinoWrite 是为演示 Rhino Xr-3 机器人的基本轨迹规划方法而开发的。 此外,针对特定实验对轨迹规划平台进行了测试,并且发现对于...
程序均是实战案例,经过测试可直接运行。 全国大学生电子设计竞赛(National Undergraduate Electronics Design Contest),试题,解决方案及源码。计划或参加电赛的同学可以用来学习提升和参考。程序均是实战案例...
犀牛 Rhino是用于构建RESTful Web服务的python微框架。安装从pypi: $ pip install rhino 从git checkout: $ git clone https://github.com/trendels/rhino.git$ cd rhino$ python setup.py install 要运行测试套件...
犀牛脚本编程,这个教程最初是为维也纳应用艺术大学建筑系的学生写的一个研习班讲义。这个研习班的目的是在四天内教会学生怎样在Rhino中编写程序,最后他们不负众望,他们成功了。他们之中绝大多数人在那之前没有过...
犀牛教程
cc1110测试程序,包括射频模块的配置,定时器的使用,串口的使用。
也与工业设计软件Rhino3D(犀牛)的结合更是浑然天成,甚至文件格式完全相同等等。对于基于多边形建模的工具来说,MOI3D自由设计大师也是一个很好的补充工具,这正是得益于它的CAD工具和高级布尔函数,有了这些MOI3D就...
图像库包括公交车、马、犀牛等各类数据,供训练测试使用。资源来自互联网,仅供学习交流。
犀牛模型查看器 安装依赖项 yarn 在开发模式下启动应用程序(热代码重新加载,错误报告等) quasar dev 注意:您可能需要先安装quasar cli yarn global add @quasar/cli 整理文件 yarn run lint 构建用于生产的...
犀牛ETL Rhino Etl是.NET的简单库。 资源 建筑 为了构建此项目,您需要从PowerShell控制台执行psake构建脚本。 您可以从根项目目录使用以下命令来执行此操作: .\psake.ps1 default.ps1 您可能需要通过以管理员...
最终,您的张开手中出现了“攻城犀牛”, 那么您有69.3%的机率在第4回合将其施放 这实际上是一个非常高的比率-具有24个基本陆地的甲板仅在65.5%的时间内按时投出其4滴。 事实证明,只有六个scryland,实际上有...
ChatTriggers目前处于测试阶段。 尽管我们尝试遵循标准版本约定并在删除旧方法之前弃用旧方法,但有时我们仍需要将某些东西重组到无法弃用的地步。 模块可以随时中断。 关于 ChatTriggers是Minecraft的框架,允许...