Вы можете просто создать массив. (Массивы реализуют интерфейс IEnumerable<T>
.)
var mockEnumerable = new[] { mockParent.Object, mockChild.Object };
Если вам нужен «чистый» IEnumerable<T>
, который нельзя преобразовать обратно в массив и т. Д., То вы можете создать его с помощью вспомогательного метода:
var mockEnumerable = CreateEnumerable(mockParent.Object, mockChild.Object);
// ...
public static IEnumerable<T> CreateEnumerable<T>(params T[] items)
{
foreach (T item in items)
{
yield return item;
}
}
(Как упоминает Джейми в комментариях, вам нужно использовать смоделированные объекты, а не Mock
объекты. Например, mockParent.Object
, mockChild.Object
и т. Д., не просто mockParent
или mockChild
.)