Ja, man kann mehreres auf einmal testen. Allerdings kriegt man (außer bei passender Fehlermeldung der Exception) auf die Art nicht heraus, woher die (erwartete?) Exception kam. Hier muss man also abwägen.
Allerdings ist es die einzige Möglichkeit (oder jedenfalls die in der Übung erwünschte) Methode, um
zwei Methoden, die beide eine Exception werfen, hintereinander in einer einzigen Testmethode
testen zu können, oder?
Dann wollte ich noch auf Fehler auf den Folien 79, 80 und 81 in Foliensatz T19 hinweisen:
Code: Alles auswählen
Folie 79: assertEquals(calculator.getResult(), 2)
Folie 80:
assertEquals(calculator.getResult(), 8);
...
assertEquals(calculator.getResult(), 5);
Folie 81: assertEquals(calculator.getResult(), 100);
assertEquals ist so definiert, dass zuerst der Erwartungswert und dann die zu testende Methode aufgerufen wird.
Also müssten die Parameter getauscht werden (wie auf Folie 86):
Des weiteren würde mich mal interessieren, wie genau ich mit assertEquals() Exceptions abfangen kann.
Folgendes habe ich bisher versucht:
In der CalculatorTest.java (aus dem Testarchiv des Calculators von der Veranstaltungsseite) habe ich in der
divideByZero() Methode das
calculator.divide(0); ersetzt durch
assertEquals(ArithmeticException, calculator.divide(0));.
Allerdings mit dem Hinweis:
ArithmeticException cannot be resolved
Auch ein
import java.lang.ArithmeticException; am Anfang der Datei hat den Hinweis nicht geändert.
In den Folien habe ich dazu leider nichts gefunden.