Я бы заменил вызовы на stub.Expect()
и stub.VerifyAllExpectations()
на stub.AssertWasCalled(x => x.Process(), o => o.Repeat.Once())
в It
.Если у вас есть более одного ожидания от заглушки, вы можете поместить каждое утверждение в один It
и заставить их проваливаться (или успешно) независимо друг от друга.
Создание заглушки перейдет в Establish
(по сути, создание любых зависимостей, а тестируемая система является частью фазы "упорядочения" в модульном тестировании).
Также учтите, что не следует использовать GenerateMock
, но GenerateStub
, так как имитации, вероятно, приведут кхрупкие тесты, когда вы вызываете другие методы, отличные от указанных в Expect
.Такие библиотеки, как FakeItEasy, обычно предоставляют лучшие и более обнаруживаемые API, их легче освоить и вы попадете в «яму успеха».