RhinoMock顺序调用

MockRepository mocks = new MockRepository();
ISongBird maleBird = (ISongBird)mocks.StrictMock(typeof(ISongBird)),
    femaleBird = (ISongBird)mocks.StrictMock(typeof(ISongBird));

using (mocks.Ordered())
{
    maleBird.Eat("seeds", 250);
    femaleBird.Eat("seeds", 250);
}

using (mocks.Ordered())
{
    maleBird.Mate(femaleBird);
    femaleBird.Mate(maleBird);
}
mocks.ReplayAll();

maleBird.Mate(femaleBird);
femaleBird.Mate(maleBird);

maleBird.Eat("seeds", 250);
femaleBird.Eat("seeds", 250);
mocks.VerifyAll();

总之用Ordered就可以次序调用了,上面是官方的例子。

时间: 2024-12-10 06:45:33

RhinoMock顺序调用的相关文章

RhinoMock学习-Stub方法

// Arrange var stub = MockRepository.GenerateStub<IDemo>(); stub.Stub(x => x.StringArgString(Arg<string>.Is.Equal("input"))).Return("output"); // Act var firstCallResult = stub.StringArgString("input"); var sec

RhinoMock中有参数方法和无返回值方法的使用

无返回值方法,RhinoMock的例子是这么做的: demo.VoidThreeArgs(0, "", 0f); LastCall.On(demo).Callback<int, string, float>(ThreeArgsAreSame); mocks.Replay(demo); 无参数方法: INameSource nameSource = (INameSource)mocks.StrictMock(typeof(INameSource)); Expect.Call(

用JQUERY的deferred异步按顺序调用后端API

花了两天啊,想办法. 顺便,DJANGO分页的东东也熟悉了下. 如果不用最新的deferred这个东东,那我们以前传统的链式异步调用代码很难看,且长. 以下这个东东未作优化代码封装. this的参数用非VAR呈现全局调用. 且加了AJAX的前处理及结束处理.让网页为用户呈现升级信息. var _self = this; promiseA = $.ajax({ url:'{% url "cp-dir" %}', type: 'post', data:{ tgt : tgt, }, dat

q.js实现nodejs顺序调用

nodejs的异步调用有时候是最让人头疼的,如何能是一些代码顺序的执行呢,这里和大家分享nodejs的promise 什么是promise promise一个标准,它描述了异步调用的返回结果,包括正确返回结果和错误处理.关于详细的说明文档可以参考Promises/A+.目前实现promise标准的模块有很多,如Q.bluebird和Deferred,下面我们以Q为例,介绍一下promise在nodejs中的使用方法. 我查找了关于promise的使用,其中最好用的就是q.js了,个人觉得.当然还

简说面向过程与面向对象

昨天白天,因为在室外活动,无事可做,所以我思考了一天,在想怎么才能比较清晰的向人解释这两个概念.所以我对这两个概念的字面意思做了一下详细的解释.没想到,这可能真的会帮助我们非常简单的理解这两个概念. 面向:从字面上理解面向,就是我们的脸对着的地方,引申为我们能看到. 过程: 过程是事物从开始,到发展,到结束的整个经历 那么面向过程就是:我们能看到, 一个事物从 开始->发展->结束. 这对于我们写程序的人来说,可能会有感触,因为一开始我们写程序时.都是按照事件的发展.去安排计算机,一步一步的做

Spring中@Async用法总结

 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法. 1.  何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义:同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果. 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕:而是继续

(转)Spring中@Async用法总结

 原文:http://blog.csdn.net/blueheart20/article/details/44648667 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法. 1.  何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义:同步就是整个处理过

iOS开发——面试篇&amp;OC基本语法总结(面试)

OC基本语法总结(面试) C和OC对比 OC中主要开发在什么平台上的应用程序? 答:可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC中新增关键字大部分是以什么开头? 答:OC中新增关键字大部分是以@开头 OC中新增加了那些数据类型? 答: Block类型 指针类型(Class, id类型) 空类型 特殊类型(SEL, nil) 面向对象特性是什么? 答:继承性,封装性,多态性 import和#include有什么区别? 答:import 的功能和 include一样, 是将右边的

设计模式之模板木模式

有时候有些事情可以分为几个步骤,但是具体每步做什么事可能不一样,这种情况下就是适合使用模板模式. 模板模式就是定义做一件事情需要做哪几步抽象出来,具体的实现交给继承类,然后抽象类里面定义一个执行方法按顺序调用之前定义的那些步骤. 举个具体情况,大家往冰箱放东西可以分为这几步: 1.买冰箱(如果有可以不用买) 2.打开冰箱门 3.放入东西 4.关闭冰箱门. 我们可以定义一个抽象模板,在模板定义这些步骤抽象方法,然后定义一个执行方法来以一定顺序调用之前定义的步骤.一般这个执行方法为了不让子类去修改会