Junit3.8.1 on Javalle suunniteltu testauskehys, jonka avulla on helppo tehdä toistettavia yksikkötestauksia.
wget http://www.cs.helsinki.fi/group/ohtu/resurssit/junit3.8.1.zipja pura se komennolla
unzip junit3.8.1.zipToimiakseen JUnit haluaa junit.jarin ja JUnitin asennushakemiston classpathiin (korvaa $JUNIT_HOME omalla asennushakemistollasi, tässä oletetaan, että asennushakemisto on kotihakemistosi alla), se onnistuu komennolla
export CLASSPATH=$CLASSPATH:~/$JUNIT_HOME/junit.jar:~/$JUNIT_HOME/Toimivuuden voi testata komentorivillä komennolla
java junit.textui.TestRunner junit.samples.AllTeststai graafisen kilkkeen kautta komennolla
java junit.swingui.TestRunner junit.samples.AllTestsJos asennus on onnistunut, pitäisi sen palauttaa seuraavanlaista
kirvela@melkki:~$ java junit.textui.TestRunner junit.samples.AllTests
.........................................
.........................................
.....................................
Time: 0,671
OK (119 tests)
kirvela@melkki:~$
Classpath lisätään Anttiin ja kun muutokset on tehty, päivitetään tämä ohje.
java junit.textui.TestRunner testing.SimpleTestItse testiluokka
package testing; //paketin nimi
import junit.framework.*; /importoidaan JUnitin framework
import java.util.*;
public class SimpleTest extends TestCase { // testaus luokka extendoi JUnitin TestCase-luokan
private Collection myCollection;
public SimpleTest(String name) {
super(name);
}
protected void setUp() { // Alustetaan objekti
myCollection = new ArrayList();
}
protected void tearDown() { // Lopetetaan objekti
myCollection.clear();
}
public void testEmptyCollection() { // Testataan onko lista tyhjä
assertTrue("The collection is empty.", myCollection.isEmpty());
}
public void testOneItemCollection() { // lisätään listaan yksi ja tarkistetaan onko se tyhjä
myCollection.add("itemA");
assertEquals("The size of the collection is 1.", 1, myCollection.size());
}
}
Edellä oleva testi menee läpi ja tulostaa, että kaksi testiä onnistui. Jos testOneItemCollectionin assertEquals-metodin eteen lisätäänkin myCollection.add("ItemB"); ei toinen testi mene enää läpi ja se tulostaa
kirvela@melkki:~/ohtu/junit3.8.1/testing$ java junit.textui.TestRunner testing.SimpleTest
..F
Time: 0,003
There was 1 failure:
1) testOneItemCollection(testing.SimpleTest)junit.framework.AssertionFailedError: The size of the collection is 1. expected:<1> but was:<2>
at testing.SimpleTest.testOneItemCollection(SimpleTest.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
FAILURES!!!
Tests run: 2, Failures: 1, Errors: 0
kirvela@melkki:~/ohtu/junit3.8.1/testing$
Ohje ei ole vielä valmis, mutta lisää informaatiota on JUnitin asennushakemiston doc-kansiossa.
Mozart-pääsivu