449 Stimmen

Warum bietet JUnit keine assertNotEquals-Methoden?

Weiß jemand, warum JUnit 4 bietet assertEquals(foo,bar) aber nicht assertNotEqual(foo,bar) Methoden?

Sie bietet assertNotSame (entspricht assertSame ) und assertFalse (entspricht assertTrue ), so dass es seltsam erscheint, dass sie sich nicht die Mühe gemacht haben, auch assertNotEqual .

Übrigens, ich weiß, dass JUnit-addons die Methoden, die ich suche, bereitstellt. Ich frage nur aus Neugierde.

-1voto

fatuhoku Punkte 4536

Modulo API-Konsistenz, warum bietet JUnit keine assertNotEquals() ist derselbe Grund, warum JUnit nie Methoden wie

  • assertStringMatchesTheRegex(regex, str) vs. assertStringDoesntMatchTheRegex(regex, str)
  • assertStringBeginsWith(prefix, str) vs. assertStringDoesntBeginWith(prefix, str)

d.h. es gibt kein Ende für die Bereitstellung spezifischer Assertion-Methoden für die Arten von Dingen, die Sie in Ihrer Assertion-Logik haben möchten!

Viel besser ist es, zusammensetzbare Testprimitive anzubieten wie equalTo(...) , is(...) , not(...) , regex(...) und lassen Sie den Programmierer diese stattdessen zusammensetzen, um die Lesbarkeit und Übersichtlichkeit zu verbessern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X