Как сделать так, чтобы имитатор генерировал исключение в первый раз и возвращал значение во второй

Я использую Moq в качестве своей насмешливой структуры, и мне нужно протестировать класс, который при возникновении определенного типа исключения запущен, он будет продолжать попытки до тех пор, пока ситуация не будет разрешена, как только это произойдет, когда выполнение завершится.

Так что мне нужно что-то вроде:

myMock = Mock<IFoo>();

myMock.Setup(m => m.Excecute()).Throws<SpecificException>();
myMock.Setup(m => m.Execute());

var classUnderTest = MyClass(myMock);
classUnderTest.DoSomething();

Assert.AreEqual(expected, classUnderTest.Result);

Спасибо за любую помощь, которую вы можете оказать.

7
задан Sergio Romero 27 October 2011 в 18:02
поделиться