Używam Moq jako moje szydercze ramy i muszę przetestować klasę, że gdy określony typ wyjątku jest uruchomiony, będzie próbował do sytuacja zostanie rozwiązana, gdy dojdzie do zakończenia egzekucji.Jak zrobić makiety rzuca wyjątek za pierwszym razem i zwracają wartość drugi
Więc co potrzebne jest coś podobnego do:
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);
dzięki za pomoc można dać.
To wygląda interesująco, ale co, jeśli metoda jest nieważna i po instalacji nie otrzymam metody "Zwroty"? I faktycznie to działa, jeśli "GetCountThing" zwraca int, nie skompiluje się, jeśli zwróci coś innego. –
@SergioRomero - zapoznaj się z edytowaną odpowiedzią. – TrueWill
Jeśli nie jest to int, zmień to, co wracasz z linii 'Returns'. Nie musi to być wartość "połączeń". – TrueWill