Ich programmiere meist in Scala und Java, mit Scalatest in Scala und Junit für Unit-Tests. Ich möchte die gleichen Tests auf mehrere Implementierungen derselben Schnittstelle/Eigenschaft anwenden. Die Idee besteht darin, zu überprüfen, ob der Schnittstellenvertrag durchgesetzt wird, und das Likov-Substitutionsprinzip zu überprüfen.Unit testing mehrere Implementierung der gleichen Eigenschaft/Schnittstelle
Wenn beispielsweise Implementierungen von Listen zu testen, könnten Tests umfassen:
- Eine Instanz sollte leer sein, wenn und nur wenn und nur wenn sie die Größe Null hat.
- Nach dem Aufruf von clear sollte die Größe Null sein.
- Durch Hinzufügen eines Elements in der Mitte einer Liste wird der Index der rhs-Elemente um eins erhöht.
- usw.
Was sind die besten Praktiken?
Großartig! Funktioniert diese Technik auch mit Scalatest? – paradigmatic
Sorry, keine Ahnung :) – abyx
Ich habe gerade versucht mit Scalatest und es scheint zu funktionieren. Vielen Dank. – paradigmatic