Я не слишком знаком с Rhino Mocks, но я думаю, что ваши ожидания не связаны на самом деле , пока вы не наберете .Replay()
- методология насмешек, на которую вы намекаете в своем примере, больше похожа на Moq для меня.
Тем не менее, я думаю, что вы делаете что-то более фундаментальное неправильно здесь.Что именно вы хотите проверить?Это p
объект или что-то на List<Entity>
?Если вы действительно хотите проверить, что p.YourMethodUnderTest()
фактически добавляет entity
к коллекции, вы, вероятно, просто хотите настроить p.FooCollection
, чтобы он возвращал ваш список, а затем убедитесь, что ваш список содержит объект-сущность.
// Arrange
IFoo myMock = MockRepository.GenerateMock<IFoo>();
List<Entity> col = new List<Entity>();
Entity entity = new Entity();
myMock.Expect(p => p.FooCollection).Return(col);
// myMock.Expect(p => p.FooCollection.Add(entity)) - skip this
// Act
p.YourMethodUnderTest(entity);
// Assert
Assert.IsTrue(col.Contains(entity)); // Or something like that