如果我有

class ObjA {
  public ObjB B;
}
class ObjB {
  public bool Val;
}

class ObjectToMock {
  public DoSomething(ObjA obj){...}
}

有没有办法定义一个期望,不仅会调用DoSomething而且obj.B.Val == true?

我努力了

Expect.Call(delegate { 
    mockObj.DoSomething(null);
}).Constraints(new PropertyIs("B.Val", true));

但无论价值是什么,它似乎都失败了。

===============>>#1 票数:2 已采纳

您可以尝试使用Is.Matching()并提供谓词约束(为了清晰起见,移出了行外):

    Predicate nestedBValIsTrue = delegate(ObjA a) { return a.B.Val == true;};
    Expect.Call( delegate {mockobj.DoSomething(null);})
           .Constraints( Is.Matching(nestedBValIsTrue));

  ask by George Mauer translate from so

未解决问题?本站智能推荐:

1回复

如何用Rhino Mocks模拟索引属性?

我如何用Rhino Mocks模拟索引属性?
2回复

使用Rhino Mocks存储只读属性

我有一个私有集属性的类,我想用犀牛模拟存根。 但是,当我尝试这样做时,它会给我一个编译时错误,说我无法设置只读属性。 我是新手使用Rhino Mocks所以我必须在这里遗漏一些东西......
2回复

验证对象在Rhino Mocks中调用自身

如何将单元测试编写为以下代码:
1回复

如何使用Rhino Mocks在PartialMock上模拟属性设置器

我想防止在部分类的属性上调用真实的setter代码。 这是什么语法? 我当前的代码将getter存根(我也想将setter存根): 像这样吗
1回复

Rhino Mocks约束和Dictionary参数

如何检查接受字典的函数的参数? 基本上,我想验证GetCodes的参数是否与变量“someDictionary”具有相同的值。 我忘了提到正在测试的方法构建字典并将其传递给someService.GetCodes()方法。 所以,我想确保传递给GetCodes方法的字典包含
1回复

是否可以使用Rhino.Mocks模拟具有属性的类型

我有这种类型: 我像这样嘲笑: 问题在于,生成的模拟没有使用RequiresAuthentication属性进行RequiresAuthentication 。 我如何解决它? 谢谢。 编辑 我希望模拟类型具有RequiresAuthentication属性,
1回复

使用Rhino Mocks模拟私有对象调用

所以我只是习惯于嘲笑东西。 我在这里有这个私有变量: 在这个班上: 该类具有一个我想测试的void方法,称为CheckSwaptionVols(DateTime runDate) 。 在测试的第一部分中,我可以实例化主类: 基本上我想打这个电话: 但是,此
1回复

Rhino.Mocks返回多态对象时会产生InvalidCastException

我第一次使用Rhino.Mocks 3.6。 我正在尝试为返回继承类型(B)的接口创建存根。 当我尝试执行此操作时,它将生成一个InvalidCastException尝试将某些代理对象转换为基类(A)。 例如: 在我看来,问题在于它正在生成与现有类具有不同继承结构的代理类。
1回复

用Rhino模拟嘲笑包含子对象的对象

假定IMouvement对象包含一些子对象,例如ITache,IStockPalette。 我如何使用Rhino Mocks模拟它? 假设进行此测试,这有什么问题? 这个测试总是失败..
1回复

Rhino Mocks:如何在不明确所有期望的情况下更改方法,属性或字段的期望?

我使用的是Rhino Mocks 3.6版,在这种情况下,我在这里找不到答案: 我有一个InvalidOperationException:IConnected.Connect();的结果; 已经设置好了。 我用存根和模拟测试了它,并且得到了相同的结果。 我对属性进行了相同