Frage

Ich habe ein Gerät zu testen, dass

  1. schafft ein Mock
  2. ruft meine Methode getestet werden (auch meine mock Injektion)
  3. behauptet Methode Ergebnisse
  4. Mock Anrufe überprüft

Wenn Mock Anrufe nicht überprüfen, wie erwartet ich eine Ausnahme erhalten, so dass ein Test nicht bestehen.
Wie soll ich auf diese Weise bestätigt richtig nennen? Soll ich nur anrufen, sein

// verify property get accessor call
m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce());

oder sollte ich nenne es mit Assert

// verify property get accessor call
Assert.DoesNotThrow(() => m.VerifyGet<bool>(p => p.IsRead, Times.AtLeastOnce()));

Wenn überprüfen fehlschlägt Ich erhalte eine Ausnahme sowieso.
Was ist der richtige Weg, der Mock Verifizieren?

War es hilfreich?

Lösung

VerifyGet ist genug, assert scheint keinen Wert hinzufügen, so warum mehr verbiage hinzufügen?

Andere Tipps

Die DoesNotThrow-Methode verwendet werden soll, testen, ob Sie Ihre eigenen Methoden, um Ihre Vorgaben einzuhalten.

Kurz gesagt, die DoesNotThrow Hinzufügen sieht aus wie Sie das Verhalten von VerifyGet statt das Verhalten Ihrer SUT sind zu testen.

Natürlich können Sie es wickeln rund um die VerifyGet, aber ich denke, das macht nur Dinge verwirrend, da VerifyGet ohnehin den Test nicht bestehen würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top