Hallo,
ich verstehe den fehler einer Testklasse nicht ganz Hier mal den Ausschnitt um den es geht meiner Testklasse.
hier mein code von der zu testenden Klasse
an der Testklasse kann ich nichts ändern ich versuche im konstruktor von der klasse Student die Exception die ich selbst definiert habe abzufangen. Allerdings bekomme ich immer den Fehler " Unreachable catch block for ZuJungException. This exception is never thrown from the try statement body ".
ich verstehe den fehler einer Testklasse nicht ganz Hier mal den Ausschnitt um den es geht meiner Testklasse.
Java:
public void testZuJungExceptionGeworfenStudent(){
try {
Student stud1 = new StudentAgeChecked("Martin", 2008);
assertTrue("Falsch, stud1 darf nicht angelegt werden", false);
} catch (ZuJungZumStudierenException zje) {
assertTrue("Korrekt, stud1 darf nicht angelegt werden und es wird stattdessen die ZuJungZumStudierenException geworfen", true);
assertEquals("Die Fehlermeldung stimmt nicht", "Die Person ist zu jung zum Studieren.", zje.getMessage());
} catch (ZuJungException e) {
assertTrue("Falsch, es wird zwar die ZuJungException geworfen, aber es sollte die ZuJungZumStudierenException kommen", false);
} catch (Exception e) {
assertTrue("Falsch, es wird zwar eine Exception geworfen, aber es sollte die ZuJungZumStudierenException kommen", false);
}
}
public void testZuJungExceptionGeworfenStudentMitMatrnr(){
try {
Student stud1 = new StudentAgeChecked("Martin", 2008, "111111");
assertTrue("Falsch, stud1 darf nicht angelegt werden", false);
} catch (ZuJungZumStudierenException zje) {
assertTrue("Korrekt, stud1 darf nicht angelegt werden und es wird stattdessen die ZuJungZumStudierenException geworfen", true);
assertEquals("Die Fehlermeldung stimmt nicht", "Die Person ist zu jung zum Studieren.", zje.getMessage());
} catch (ZuJungException zje) {
assertTrue("Falsch, es wird zwar die ZuJungException geworfen, aber es sollte die ZuJungZumStudierenException kommen", false);
} catch (Exception e) {
assertTrue("Falsch, es wird zwar eine Exception geworfen, aber es sollte die ZuJungException kommen", false);
}
hier mein code von der zu testenden Klasse
Java:
public class StudentAgeChecked extends Student {
public StudentAgeChecked(String name, int geburtsjahr)throws ZuJungZumStudierenException {
super(name,geburtsjahr);
if(this.getGeburtsjahr() >= 2001) {
}else throw new ZuJungZumStudierenException();
}
public StudentAgeChecked(String name, int geburtsjahr, String matrnr) throws ZuJungZumStudierenException {
this(name,geburtsjahr);
matrnr = this.getMatrNr();
}
}
an der Testklasse kann ich nichts ändern ich versuche im konstruktor von der klasse Student die Exception die ich selbst definiert habe abzufangen. Allerdings bekomme ich immer den Fehler " Unreachable catch block for ZuJungException. This exception is never thrown from the try statement body ".
Zuletzt bearbeitet von einem Moderator: