# BlueJ jUnit Test



## Guest (23. Jan 2009)

hallo leute,

da ich in eurem Forum bisher immer gute Hilfen bekommen habe, wende ich mich wieder mal an euch, ich habe Probleme bei einer Übung zum Testen mit JUnit in BlueJ, die Testklassse ZahlenSammlung die hiermit getestet werden soll findet ihr unter:  http://pastebin.com/m4205d675


a.) erstellen Sie zur Klasse ZahlenSammlung eine testklasse   das hat geklappt

b.)  ergänzen sie Testmethoden für alle erdenklichen Fehlersituationen, so dass dabei sowohl jede Methode als auch alle möglichen Testfälle abgedeckt sind.

Sofern sie beim Ausführen der Tests Fehler entdecken, schauen sie sich die genauen Fehlermeldungen an, korrigieren sie die Fehler aber zunächst nicht.



c.)  Schauen sie sich den entstandenen Quellcode der Testmethoden an. Wie verhalten sich die Tests, wenn in einer Methode mehrere Zusicherungen vorkommen.

d.)  Studieren sie wie sich die unterschiedlichen Zusicherungen, die man im Dialogfenster Methodenergbenis während der Testaufzeichnung auswählen kann, im Quellcode der Testmethoden niederschlagen.


e.)  Versuchen sie nun die Ursachen der gefundenen Fehler zu finden und die Fehler zu korrigieren.


f.)   Führen Sie Regressionstests durch, um zu zeigen, dass die Fehler beseitigt wurden und dabei keine neuen Fehler entstanden sind.




könnt ihr mir ab der Aufgabe b weiterhelfen?


----------



## maki (23. Jan 2009)

>> könnt ihr mir ab der Aufgabe b weiterhelfen?

Was genau meinst du?

Sollen wir deine Unittests schreiben??
Oder bei gefundenen Fehlern die Fehlermeldung anschauen und ignorieren?


----------



## ARadauer (23. Jan 2009)

> korrigieren sie die Fehler aber zunächst nicht.


das ist mein part, ich erledige das sofort...


----------



## Guest (23. Jan 2009)

am besten wäre es  wenn ihr mir die unit tests schreiben könntet, da ich null peil habe wie das gehen soll bei methoden mit einfachen vergleichskriterien kapier ich das ja noch aber hier raff ich nix mehr, typisch studium


----------



## maki (23. Jan 2009)

>> am besten wäre es wenn ihr mir die unit tests schreiben könntet

Meine Frage war ironisch gemeint, denn leider machen wir hier keine Hausaufgaben. 

Du hast folgende Möglichkeiten:
1. Brich dein Studium ab.
2. Biete Geld dafür dass jemand dein "Projekt" für dich schreibt.
3. Bewege dich selbst ein bisschen, wenn du konkrete Fragen hast immer her damit, da helfen wir gerne.

(Achtung Ironie)


----------



## ARadauer (23. Jan 2009)

> b.) ergänzen sie Testmethoden für alle erdenklichen Fehlersituationen, so dass dabei sowohl jede Methode als auch alle möglichen Testfälle abgedeckt sind.


du schreibst eine methode für jede methode deiner klasse.
Du benutzt einfach in diesen Methoden deine Klasse und überprüft ob die Rückgabewerte in Ordnung sind...

eh ganz einfach so zb


```
import static org.junit.Assert.*;
import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;

/**
 * @author rad
 *
 */
public class ZahlenSammlungTest {
   
   Zahlensammlung sammlung;

   /**
    * @throws java.lang.Exception
    */
   @Before
   public void setUp() throws Exception {
      int[] zahlen = {5,7,8,1,3,99};
      sammlung = new Zahlensammlung(zahlen);
   }

   /**
    * Test method for {@link Zahlensammlung#groessteZahl()}.
    */
   @Test
   public void testGroessteZahl() {
      Assert.assertEquals(99, sammlung.groessteZahl());
      sammlung.entferneZahl(99);
      Assert.assertEquals(8, sammlung.groessteZahl());
   }

   /**
    * Test method for {@link Zahlensammlung#kleinsteZahl()}.
    */
   @Test
   public void testKleinsteZahl() {
      Assert.assertEquals(1, sammlung.kleinsteZahl());
      sammlung.entferneZahl(1);
      Assert.assertEquals(3, sammlung.kleinsteZahl());
   }

   /**
    * Test method for {@link Zahlensammlung#gibAnzahl()}.
    */
   @Test
   public void testGibAnzahl() {
      fail("Not yet implemented");
   }

   /**
    * Test method for {@link Zahlensammlung#entferneZahl(int)}.
    */
   @Test
   public void testEntferneZahl() {
      fail("Not yet implemented");
   }

   /**
    * Test method for {@link Zahlensammlung#gibZahl(int)}.
    */
   @Test
   public void testGibZahl() {
      fail("Not yet implemented");
   }

}
```

hier sieht man gleich, dass der test nicht funktioniert... da ich gedacht habe man gibt bei entferneZahl den wert an und nicht den index...


----------



## Guest (23. Jan 2009)

danke für die antworten aber bei den importen fuckt sich blueJ ab, dass er die Klasse Test net kennen würde


----------

