How To write JUnit Tests

aus AlricgWiki, der freien Wissensdatenbank

Vorsicht, die Infos beziehen sich auf JUnit 3.8. Wie benutzen inzwischen JUnit 4.1. Infos sind zu finden unter:

JUnit Home

Umfassende Info zu JUnit mit Doku, JavaDoc, Extensions, etc. findet sich unter: http://junit.org/

Teststruktur

  • 1. In jedem package (im Source-Ordner test) gibt es eine Test-Klasse AllTests.

In AllTests, gibt es nur eine suite() Methode in der alle, in diesem package zu testenden Klassen aufgelistet sind. Das ganze sieht dann etwa folgendermaßen aus:

 package org.d3s.alricg.mypackage;
 public class AllPackagesTests extends TestCase {
   
   public static Test suite() {
       TestSuite testSuite = new TestSuite("All Tests for org.d3s.alricg.mypackage");
       testSuite.addTestSuite(org.d3s.alricg.mypackage.MyClass1Test.class);
       // ....
       testSuite.addTestSuite(org.d3s.alricg.mypackage.MyClassZTest.class);
       return testSuite;
   }
}


  • 2. Diese AllTests Klassen wiederum werden von org.d3s.alricg.AllPackageTests aufgerufen (wieder im test-Ordner):
 package org.d3s.alricg;
 public class AllPackageTests extends TestCase {
   
   public static Test suite() {        
     TestSuite testSuite = new TestSuite("All Tests for Alricg");
     testSuite.addTest(org.d3s.alricg.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.controller.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.prozessor.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.prozessor.generierung.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.sonderregeln.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.store.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.store.xom.AllTests.suite());
     testSuite.addTest(org.d3s.alricg.store.xom.map.AllTests.suite());
     //...
     testSuite.addTest(org.d3s.alricg.mypackage.AllTests.suite());
     return testSuite;
   }
 }

Vorgehen

  • 1. Testklassen liegen im Source-Ordner test, nicht in src!
  • 2. Testklassen für package org.d3s.alricg.xyz schreiben (zu viele gibt es nicht!)
  • 3. org.d3s.alricg.xyz.AllTests anlegen und die Testklassen in der suite()-Methode aufzählen.
  • 4. org.d3s.alricg.xyz.AllTests in org.d3s.alricg.AllPackageTests.suite() eintragen.
'Persönliche Werkzeuge