Hallo, ich hab nicht wirklich ein Code-Problem, mittlerweile funktioniert alles, allerdings sind Teile des Codes noch etwas unübersichtlich gewesen, deshalb hab ich mir die Best-Practices zu Java und JUnit mal angeguckt.
An vielen Stellen heißt es, dass in JUnit bestenfalls nur ein Assert pro Testfunktion vorhanden sein soll.
Allerdings kann ich mir nicht so recht vorstellen, dass das der Übersicht dienen würde.
(Eine der zu testenden Methoden hängt von zwei Parametern ab, für die es eigentlich nur zwei relevante Ausgänge gibt, allerdings sollen wir laut unserem Prof insbesondere die Grenzfälle testen). Sollte ich diese Test-Methode weiter aufsplitten, oder kann ich das schöner schreiben/bzw zusammenfassen, weil ja alle Fälle mit dem gleichen Wert verglichen werden?
Soll ich diese Fälle jetzt alle aufsplitten, oder wäre das übertrieben? Das würden ja auch unendlich lange Methodennamen werden, wenn ich die so benennen will, wie das an vielen Stellen angegeben ist, da die Parameter ja in großen Teilen identisch sind.
Danke schonmal ^^
EDIT: Voraussetzung wäre noch, dass es in JUnit 4 funktioniert
An vielen Stellen heißt es, dass in JUnit bestenfalls nur ein Assert pro Testfunktion vorhanden sein soll.
Allerdings kann ich mir nicht so recht vorstellen, dass das der Übersicht dienen würde.
(Eine der zu testenden Methoden hängt von zwei Parametern ab, für die es eigentlich nur zwei relevante Ausgänge gibt, allerdings sollen wir laut unserem Prof insbesondere die Grenzfälle testen). Sollte ich diese Test-Methode weiter aufsplitten, oder kann ich das schöner schreiben/bzw zusammenfassen, weil ja alle Fälle mit dem gleichen Wert verglichen werden?
Java:
@Test
public void berechneBruttoPreis_nichtermaessigtUnd2020_Test()
{
//act
double preis1 = produktNichtermaessigt.berechneBruttopreis(untereGrenze);
double preis2 = produktNichtermaessigt.berechneBruttopreis(obereGrenze);
double preis3 = produktNichtermaessigt.berechneBruttopreis(mittenDrin);
//assert
assertEquals(2.9, preis1, 0);
assertEquals(2.9, preis2, 0);
assertEquals(2.9, preis3, 0);
}
Soll ich diese Fälle jetzt alle aufsplitten, oder wäre das übertrieben? Das würden ja auch unendlich lange Methodennamen werden, wenn ich die so benennen will, wie das an vielen Stellen angegeben ist, da die Parameter ja in großen Teilen identisch sind.
Danke schonmal ^^
EDIT: Voraussetzung wäre noch, dass es in JUnit 4 funktioniert
Zuletzt bearbeitet: