Wie funktionieren Testmethoden?

Derenei

Aktives Mitglied
In der Schule habe ich ein kleines Programm geschrieben welches die Ziffernsumme berechnet.
Ich war in der darauffolgenden Programmierstunden leider Krank und ein Mitschüler hat mir gesagt, dass wie eine Testmethode für dieses Programm erstellen müssen könnte mir jemand von euch sagen wie das funktioniert:
Hier mein Programm:



/**
* Beschreiben Sie hier die Klasse Ziffernsumme.
*
* @author (Alexander P.)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Ziffernsumme
{
public static void main (String[]args)
{
Out.println ("!! Ziffernsummenberechner by Alexander Pittrich. !!");

Out.print ("Geben Sie eine Zahl ein (max 9000000): ");
int input = In.readInt ();
Out.print ("Ziffernsumme "+SumofDigits (input));
char a;
do
{
Out.print (" Wollen Sie weitermachen? (j/n): ");
a = In.readChar ();
if (a == 'j')
{
Out.print ("Geben Sie eine Zahl ein (max 9000000): ");
input = In.readInt ();
Out.print ("Ziffernsumme "+SumofDigits (input));
}

if (a != 'j' && a != 'n')
{
Out.print ("! Es ist nur (j/n) erlaubt. !");
}
}while (a != 'n');

if (a == 'n')
{
Out.print ("Danke.");
}
}

public static int SumofDigits (int input)
{
int t = 100000;
int t1 = 1000000;
int lös = 0;
int erg = 0;
erg = input/1000000;
do
{
lös = (input%t1)/t;
erg = erg+lös;
t1 = t1/10;
t = t/10;
}while(t >= 1);
return erg;
}

}
und hier die Testmethode die ich erstellt habe:




import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
* Die Test-Klasse ZiffernsummeTest.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class ZiffernsummeTest
{
/**
* Konstruktor fuer die Test-Klasse ZiffernsummeTest
*/
public ZiffernsummeTest()
{
}

/**
* Setzt das Testgerüst fuer den Test.
*
* Wird vor jeder Testfall-Methode aufgerufen.
*/
@Before
public void setUp()
{
}

/**
* Gibt das Testgerüst wieder frei.
*
* Wird nach jeder Testfall-Methode aufgerufen.
*/
@After
public void tearDown()
{
}
}




was genau muss ich in der Testmethode machen um zu prüfen wen ich 88 eingebe, dass die Ziffernsumme 16 ist.
Danke im Voraus.
 

njans

Top Contributor
Bitte verwende doch die Java-Tags, die groß und rot beim Erstellen eines neuen Beitrags hervorgehoben werden.
 
B

bygones

Gast
du brauchst keinen Konstruktor in der Testclass und @Before und @After sind auch erstmal irrelevant.

Schreib eine Methode mit einem Namen der beschreibt was du testest, die bekommt die @Test Annotation.

In der rufst du deine Klasse/Methode auf die zu testen ist und kannst am Ende das Ergebnis per [c]JUnit.assertEquals(expected, actual)[/c] testen (wobei ich bzgl der reihenfolge von expected, actual nie weiss wierum)

Aber wie schon gesagt - JUnit bei google und das wird der erste/zweite hit sein
 

Neue Themen


Oben