Это зависит от того, что вы собираетесь тестировать.
Moq может значительно помочь вам, когда вы хотите проверить взаимодействия между тестируемым классом и другими классами.В случае, если вы описываете, вы, вероятно, тестируете класс, который использует класс с методами и свойствами, упомянутыми выше.Чтобы проверить взаимодействия, вы хотите проверить, вызывается ли метод Add
с ожидаемыми параметрами, вызывается ли метод Save
и используется ли свойство Persons
для чтения результатов.Это может быть достигнуто следующим образом:
var mockedClass = new Mock<IDaoClass>();
var classUnderTest = ...
mockedClass.SetupGet(m => m.Persons).Returns(new List<Person>().AsQueryable());
classUnderTest.DoSomething();
mockedClass.Verify( m => m.Add(It.IsAny<Person>()));
mockedClass.Verify( m => m.Save());
Если вы хотите проверить что-то еще и предоставить реализацию stub этих методов, то вы можете просто создать тестовую реализацию илирассмотрите возможность использования настроек Moq с функциями, выраженными как лямбды, а не простыми настройками.