Assert.IsTrue vs. Assert.AreEqual (UnitTests in C# unter VS 2010)
-
Ich bin gerade am überlegen welches Asserts am angemessensten ist.
Assert.IsTrue(items.Count == 2);
oder
Assert.AreEqual(2, items.Count);
Der auffälligste Unterschied dürfte die Meldung sein die Visual Studio ausgibt.
BeiAssert.IsTrue(items.Count == 2);
heißt es:
Assert.IsTrue failed.
Dadurch bin ich gezwungen selber eine Message zu schreiben. (Allerdings ist durch den Methodennamen genau klar was getestet wurde.)
Bei
Assert.AreEqual(2, items.Count);
heißt es:
Assert.AreEqual failed. Expected:<2>. Actual:<1>
Dadurch spar ich mir zum einen eine Message, und zum anderen sehe ich im Report genau was erwartet und was angekommen ist.
Was denkt ihr ist angemessener? Bisher misch ich das, aber ich will Konsistenz rein bekommen.
-
Sprechender Code und sprechende Fehlermeldung. Also #2.
-
SG1 schrieb:
Sprechender Code und sprechende Fehlermeldung. Also #2.
+1
Zudem ist ja dein Ziel, zu testen, ob items.Count 2 ist. Dh, du willst mit diesem Test sicherstellen, das items.Count gleich 2 ist. Du willst nicht wissen ob da irgendwas True ist, sondern es geht dir ja ausschließlich darum das items.Count Equal 2 sein soll.
So hast du auch, nennen wir es, eine "sprechende Logik" mit drin.
-
Is n Argument.
Danke euch