Ich finde die Assert
Klassenmethoden eher verwirrend als hilfreich. Ich finde es besonders ärgerlich, dass Microsofts MSTest-Methoden erwarten (oder erfordern?), Dass ich Vergleiche rückwärts schreibe, d. e. der konstante/erwartete Wert zuerst und der variable/tatsächliche Wert der zweite. Dies steht im Gegensatz zur natürlichen Sprache und damit zu vielen Programmierrichtlinien für allgemeine Code-Vergleiche.Warum sollte ich die Methoden der Assert-Klasse verwenden?
Anstatt also diese:
Assert.AreEqual(5, value, "Value is not correct.");
Was mit dieser falsch ist, mehr normal suchen Prüfvorschrift:
if (value != 5) Assert.Fail("Value is not correct.");
Dies ist, was der gesamte Code aussieht. Es ist das, was jedes Auge des Programmierers trainiert, um es schnell zu sehen und zu verstehen. Und die anderen Assertionsmethoden können ebenso einfach in regulären Code geschrieben werden.
Mit C# 6 using static
können Sie sogar den Assert.
Teil weglassen.
Ich konnte keine Überlegungen dazu im Web und mit der Assert-Klasse Dokumentation finden.
Kennen Sie [fließende Behauptungen] (http://www.fluentassertions.com/)? –
Wechseln Sie einfach zu NUnit, XUnit oder einem anderen Einheitentestframework; persönlich finde ich die MSTest-Syntax ganz gut, nehme die ersten 10 Tests, um mich daran zu gewöhnen und dann alle süß. – zaitsman
@ RenéVogt Wusste das nicht, und ich sehe keinen Sinn darin, Sprachfunktionen mit benutzerdefinierten Methoden zu verwerfen. Weniger lesbar für mich und überflüssige Dinge zu lernen. – ygoe