私はモックオブジェクトに非常に慣れていません。私の頭の中で初めて、DynamicMock() オブジェクトをインスタンス化してから、その ExpectAndReturn() メソッドを続行しようとしています。
IGrouping インターフェイスの場合、プロパティは Key の 1 つだけです。したがって、ExpectAndReturn を設定して foreach で機能させたい場合は、IEnumerator の Current、Next()、Reset() を実装する必要があるかもしれません。
モック オブジェクトを設定するのは簡単ではなく、多くの開発時間を無駄にします。
今私の解決策は次のようなものです:
//prepare expected list of objects that want to be tested
List<MyObject> list = new List<MyObject>();
list.Add(new MyObject() {BookingNo="111",...});
list.Add(new MyObject() {BookingNo="111",...});
// grouping objects in list
IEnumberable<IGrouping<string, MyObject>> group = list.GroupBy(p => p.BookingNo);
//in my test method
myReturnObj obj = MethodA(group.First());
Assert.xx(...);
どうもありがとう、デビッドB!