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:
Hier noch der Javacode
MeineKlasse.java
MeineKlasseTest.java:
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
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: