Hallo!
Hantiere da gerade a bissle mit JUnit herum und komme bei genau einer Sache nicht weiter.
Vieleicht habt ihr ja nen Ansatz?
Folgende Aufgabe ist zu bearbeiten:
Entwickeln Sie einen JUnit-Testfall zur Überprüfung, ob bei einem negativen aktuellen Parameter "-1" auch wirklich eine Exception vom Typ MyException geworfen wird!
Entwickeln Sie einen zweiten Testfall, der zeigt, dass bei einem aktuellen Parameter "1" die Methode problemlos ohne Exceptions durchläuft! Binden Sie beide Testfälle zu einer Test-Suite zusammen!
Das Ganze habe ich nach bestem Können und Verständnis versucht umzusetzen. Das Problem jedoch, wenn ich in meinem Code ein Sparbuch mit dem Wert -100 initialisiere, so wird die eigentlich Exception gar nicht aufgerufen. Stattdessen zeigt mir das JUnit-Framework die fail-Meldung an. Was ist zu tun damit die Exception tatsächlich aufgerufen wird?
Anbei der Code der beiden Dateien:
Vorab vielen Dank für eure HILFE!!!
Hantiere da gerade a bissle mit JUnit herum und komme bei genau einer Sache nicht weiter.
Vieleicht habt ihr ja nen Ansatz?
Folgende Aufgabe ist zu bearbeiten:
Entwickeln Sie einen JUnit-Testfall zur Überprüfung, ob bei einem negativen aktuellen Parameter "-1" auch wirklich eine Exception vom Typ MyException geworfen wird!
Entwickeln Sie einen zweiten Testfall, der zeigt, dass bei einem aktuellen Parameter "1" die Methode problemlos ohne Exceptions durchläuft! Binden Sie beide Testfälle zu einer Test-Suite zusammen!
Das Ganze habe ich nach bestem Können und Verständnis versucht umzusetzen. Das Problem jedoch, wenn ich in meinem Code ein Sparbuch mit dem Wert -100 initialisiere, so wird die eigentlich Exception gar nicht aufgerufen. Stattdessen zeigt mir das JUnit-Framework die fail-Meldung an. Was ist zu tun damit die Exception tatsächlich aufgerufen wird?
Anbei der Code der beiden Dateien:
Code:
//---------------------------Das Sparbuch-----------------
package source;
public class Sparbuch
{
private static int wert=-1;
public Sparbuch(int Wert)
{
if (Wert>0)
wert = Wert;
}
public int getWert() {
return wert;
}
public void setWert(int wert) {
Sparbuch.wert = wert;
}
}
//---------------------------Der Testfall-----------------
package source.test;
import source.*;
import junit.framework.*;
public class SparbuchTest extends TestCase {
public SparbuchTest(String name) {
super(name);
}
public static Test suite()
{
TestSuite tSuite = new TestSuite(SparbuchTest.class.getName());
tSuite.addTest(new SparbuchTest("testSparbuchKonstruktor1"));
tSuite.addTest(new SparbuchTest("testSparbuchKonstruktor2"));
return tSuite;
}
public void testSparbuchKonstruktor1()
{
try
{
Sparbuch sp1 = new Sparbuch(-100); //genau ab hier sollte ja die Exception aufgerufen werden
fail("Exception nicht ausgeführt");
//assert(sp1.getWert()>0);
System.out.println(sp1.getWert());
}
catch(IllegalArgumentException e)
{
System.out.println("Das geht so nicht!");
}
}
public void testSparbuchKonstruktor2()
{
Sparbuch sp2 = new Sparbuch(1);
System.out.print(sp2.getWert());
}
}
Vorab vielen Dank für eure HILFE!!!