PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [solved] JUnit 4 Initialization Error



MindXperience
17.01.2013, 10:09
Hi

Beim Versuch mein Spiel über JUnit zu testen kommt es immer zur Meldung: Test class should have only one zero-argument constructor. Was bedeutet das ?


import org.junit.Test;
import static org.junit.Assert.*;

public class ModelTest {

public Model model;
public ModelTest(Model model){

this.model = model;
}
@Test
public void testIsAvailable() {
assertEquals(1,1); // is nur Test
}


EDIT:
ich benutze Eclipse

Whiz-zarD
17.01.2013, 10:23
Das bedeutet, dass der Konstruktor keine Parameter besitzen darf, wie es auch in der Fehlermeldung steht ;)
Dein Konstruktor besitzt aber ein Parameter.

MindXperience
17.01.2013, 11:01
Aber iwie muss ich doch das Model übergeben wenn ich die Methoden testen will ? Sonst meldet der immer dass er die Methoden nicht finden kann

okay habs, ich mach das Model model = new Model(); jetzt einfach in die Voids selbst rein

Whiz-zarD
17.01.2013, 11:30
okay habs, ich mach das Model model = new Model(); jetzt einfach in die Voids selbst rein

void bedeutet in der Java-Welt nur, dass die Methode keinen Rückgabewert hat ;)

Edit: Schreib den Konstruktor doch so:


public ModelTest()
{
this.model = new Model();
}


oder


public class ModelTest
{
public Model model = new Model();

@Test
public void testIsAvailable()
{
assertEquals(1,1); // is nur Test
}
}

MindXperience
17.01.2013, 11:51
jaja weiß ich :D
was du mir vorgeschlagen hast hab ich schnell geändert

also bei mir sieht es jetzt so aus und funktioniert wunderbar ^^


import static org.junit.Assert.*;

public class ModelTest {

Model model = new Model();

@Test
public final void testModel() {
Model model = new Model();
assertTrue(model != null);
}

@Test
public final void testCreateGrid() {
model.createGrid();
assertEquals(1, model.getID(3,3));
assertEquals(1, model.getID(4,4));
assertEquals(2, model.getID(4,3));
assertEquals(2, model.getID(3,4));
}}