JUnit Test Suite erstellen

Es ist einiges flexibler (kein Zwang, sich in eine Klassenhierarchie zu hängen), vieles kürzer ("expected" and der @Test Annotation um das Fliegen einer Exception zu erwarten) usw. usw. Kein Riesenunterschied, eher subtile Änderungen, die hier und da schon Erleichterung bringen. Google ist dein Freund, es gibt massig Vergleiche da draussen ;)

REINHAUN!
 
Jap, das meinte ich mit "subtil, aber hier und da leichter". Ein bestehendes Projekt würde ich auch nicht umstellen. Neues mit 4 anzufangen macht aber durchaus Sinn.

Gruß
Ollie
 
die dinge die ich gern machen würde sind anders...

bsp. vernünftiges gui testing...ich benutze gerade swt bot, sehr geiles teil aber noch etwas grün hier und da...der witz is das das auch unit tests sind....

mocking ohne spring bze. dependecy injection...da gibs sachen easyMock oder so, hab ich mir noch nicht anschaun können...

grobgranulare tests auf package/eclipse plugin ebene...
 
die dinge die ich gern machen würde sind anders...

bsp. vernünftiges gui testing...ich benutze gerade swt bot, sehr geiles teil aber noch etwas grün hier und da...der witz is das das auch unit tests sind....
Nananana... vorsicht. Nur weil Test mit JUnit implementiert sind, sind sie noch lange keine Unittests. Ein Unittest definiert sich nicht über die technologie mit der er umgesetzt ist, sonder im Umfang des zu testenden Codes - ergo in der definition, was eine Unit überhaupt ist. Im Normalfall ist das eine einzelne Klasse, deren Dependencies gemockt werden.

mocking ohne spring bze. dependecy injection...da gibs sachen easyMock oder so, hab ich mir noch nicht anschaun können...
Mocking ohne Spring geht, Mocking ohne DI ist effektiv unmöglich. D.h. ohne einen auf Dependency Injection zugeschnittenen Entwurf und eine Mockbibliothek sind effektive Unittests quasi aussichtslos ;)

grobgranulare tests auf package/eclipse plugin ebene...
Äh jap... Eclipse testen soll nicht einfach sein, hab ich mir sagen lassen ;).

Gruß
Ollie
 
Hallo zusammen,

hier ein Beispiel:

Java:
package tournament;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(value = Suite.class)
@Suite.SuiteClasses(value = { PlayerTest.class, TournamentGameTest.class, 
GroupGameTest.class, MyStackTest.class, MyQueueTest.class, 
TournamentTest.class, GroupTest.class })
public class TestAll {

	public TestAll() {
	}
}

Und eine von den Test-Klassen:

Java:
import static org.junit.Assert.*;

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

public class PlayerTest {

	private Player jan;
	private Player piet;

	@Before
	public void setUp() throws Exception {
		jan = new Player("Jan");
		piet = new Player("Piet");
	}

	@After
	public void tearDown() throws Exception {
		jan = null;
		piet = null;
	}

	@Test
	public void testHand() {
		assertTrue(Hand.PAPER.equals(Hand.PAPER));
		assertFalse(Hand.PAPER.equals(Hand.ROCK));
	}

	@Test
	public void testPlayHand() {
		jan.setHand(Hand.ROCK);
		piet.setHand(Hand.ROCK);
		int q = jan.getHand().compareTo(piet.getHand());
		assertTrue(q == 0);
		piet.setHand(Hand.SCISSORS);
		q = jan.getHand().compareTo(piet.getHand());
		assertTrue(q < 0);
		piet.setHand(Hand.PAPER);
		q = jan.getHand().compareTo(piet.getHand());
		assertTrue(q < 0);
	}
}

Gruß .
 
Zurück