2013-12-16 16 views
6

Ich habe einige ungültige Methoden und ich muss sie testen, aber ich bin mir nicht sicher, wie es geht. Ich weiß nur, wie man Methoden, die etwas zurückgeben, mit Assert testet. Jemand weiß, wie es geht? Kennst du einige Links zu Übungen in diesem Stil?Wie kann ich ungültige Methoden testen?

+0

Wenn die Methoden nichts tun, was Sie extern beobachten können, welche nützliche Arbeit tun sie? –

Antwort

10

Sie können zwei Dinge testen:

  • Zustandsänderungen nach Leeren Methodenaufruf (zustandsbasierte Prüfung)
  • Wechselwirkungen mit Abhängigkeiten während Leeren Methodenaufrufes (Interaktion Test)

Erster Ansatz ist einfach (NUnit-Beispiel):

var sut = new Sut(); 
sut.Excercise(foo); 
Assert.That(sut.State, Is.EqualTo(expectedState)); // verify sut state 

Zweiter Ansatz erforderlich s mocks (Moq Probe):

var dependencyMock = new Mock<IDependency>(); 
dependencyMock.Setup(d => d.Something(bar)); // setup interaction 
var sut = new Sut(dependencyMock.Object); 
sut.Excercise(foo); 
dependencyMock.VerifyAll(); // verify sut interacted with dependency 

Nun, Sie können auch prüfen, ob entsprechende Ausnahmen geworfen werden.

Verwandte Themen