JUnit Fehler beim Compilieren - erledigt

Hein_nieH

Bekanntes Mitglied
Hallo,

ich versuche gerade die ersten Gehversuche mit JUnit zu machen.
Hierzu nutze ich JUnit-4.8.2

Hierzu habe ich mir (basierend auf einer Uebung aus dem Netz) eine Klasse MeineKlasse.java sowie eine Klasse MeineKlasseTest.java geschrieben.

MeineKlasse.java liegt im Unterverzeichnid src/meinpackage
MeineKlasseTest.java liegt im Unterverzeichnis test/meinpackage

Diese Klassen werden auch problemlos kompiliert.

Wenn ich nun aber den Befehl junit.textui.TestRunner meinpackage.MeineKlasseTest aufrufe, dann erscheint folgende Compilermeldung:

error: Class names, 'junit.textui.TestRunner,meinpackage.MeineKlasseTest', are
only accepted if annotation processing is explicitly requested
1 error
;(

Hier ist mein batchcode zum Comilieren:

Java:
rem Verzeichniswechsel
D:
cd \Projekte_Putzar\Programmierung_Java\JUnitTest1

rem Compilieren
javac -cp bin;lib/* -d bin src/meinpackage/*.java
javac -cp bin;lib/* -d bin test/meinpackage/*.java

rem Starten
javac -cp bin;lib/* junit.textui.TestRunner meinpackage.MeineKlasseTest

Hier noch der Javacode
MeineKlasse.java
Java:
package meinpackage;

/*
 * Klasse, die getestet werden soll
 */

public class MeineKlasse
{
	private String job;
	
	public String getJob()
	{
		return job;
	}//getJob
	
	public void setJob(String job)
	{
		this.job=job;
	}//set job
	
	public double myMethod (double x) throws Exception
	{
		if ("Quadrat".equalsIgnoreCase(job)) return x*x;
		if ("Wurzel".equalsIgnoreCase(job)) return Math.sqrt(x);
		//Exception werfen, wenn hier angekommen
		throw new Exception("Fehler Aufgabe nicht korrekt definiert.");
	}//myMethod
}//class


MeineKlasseTest.java:
Java:
package meinpackage;

import junit.framework.TestCase;

public class MeineKlasseTest extends TestCase
{	//TestCase ist abstract und muss abgeleitet werden
	
	MeineKlasse meineKlasse1;
	
	@Override public void setUp() throws Exception
	{	//setUP dient zum Einrichten des Testes
		meineKlasse1 = new MeineKlasse();
		
		//assert=Bahauptung
		assertEquals ("Anfangs darf kein Job gesetzt sein.", null, meineKlasse1.getJob() );
	}//setUp
	
	@Override public void tearDown() throws Exception
	{	//tearDown dient zum Aufraeumen des Testes
		meineKlasse1=null;
	}//tearDown
	
	public void testGetandSetJob()
	{	//Testszenario 1
		meineKlasse1.setJob("Quadrat");
		assertEquals( "Job muss Quadrat sein.", "Quadrat", meineKlasse1.getJob() );
	}//testGetandSetJob
	
	public void testDoJobs() throws Exception
	{	//Testszenario 2
		meineKlasse1.setJob( "Quadrat" );
		assertTrue("Qudrat von '4' muss '16' sein", 16. == meineKlasse1.myMethod(4) );
		
		//Testszenario 3
		meineKlasse1.setJob( "Wurzel" );
		assertTrue("Wurzel von '4' muss '2' sein", 2. == meineKlasse1.myMethod(4) );		
		
		try
		{	//Testszenario 4
			meineKlasse1.myMethod( 4 );
			fail( "Exception muss geworfen werden, da kein korrekter Job gesetzt");
		}
		catch (Exception ex)
		{
			//ok
		}
	}
}//class

Hat jemand eine Idee woher der Fehler stammt:shock:

Ich habe bewusst nicht Eclipse benutzt!

Ueber einen Hinweis würde ich mich sehr freuen.



Nachtrag: Ich habe ebend den Fehler gefunden.
Er liegt in der Batch-Datei

Es muss heissen:
java -cp bin;lib/* junit.textui.TestRunner meinpackage.MeineKlasseTest
und nicht
javac -cp bin;lib/* junit.textui.TestRunner meinpackage.MeineKlasseTest
 
Zuletzt bearbeitet:

Zurück
Oben