3

私が持っている場合

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));

しかし、値が何であれ失敗するようです。

4

1 に答える 1

2

Is.Matching() を使用して、述語制約を提供することを試すことができます (わかりやすくするために行の外に移動しました)。

    Predicate nestedBValIsTrue = delegate(ObjA a) { return a.B.Val == true;};
    Expect.Call( delegate {mockobj.DoSomething(null);})
           .Constraints( Is.Matching(nestedBValIsTrue));
于 2008-09-16T20:53:39.180 に答える