• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Unit-Test für eine Methode

S

suryoyo

Mitglied
Hallo liebe Gemeinde,

ich bin dabei mit Unit-Tests zu schreiben und Habe eine Methode,Habe eine Methode, wo ich beim besten Willen nicht weiß, wie ich es Testen soll.
Die Vorgabe lautet teste Mithilfe eines DataProvider. Hier die zu betastende Methode:


String ermittleProzent (Number prozent){
if ( prozent == null){
return "";
}else{
return prozent + " %";
}
}


Ich habe keine Ahnung wie ich da vorgehen soll, die anderen Methoden hatten mehrere mögliche Attribute die ich Testen konnte. Aber das hier zwingt mich in die Beine. Hat einer eine Idee?

Mein Test sieht so aus:

@test (dataProvider = "liefereErmittelterProzentsatz")
public void testErmittleProzent (Number prozent, String prozentZeichen){
//given + when
String result = underTest.ermittleProzent(prozent)

//then
Assert.assertEquals(prozent,prozentZeichen);
}

Mein DataProvider sieht so aus:

@DataProvider
publi Object [][] liefereErmittelterProzentsatz(){
return new Object [][]{
{null, null},
{" %", " %"};
}
}

Mit den Parametern null, null klappt es aber ich glaube ich mache da was falsch. Für Hilfe wäre ich dankbar.
 
kneitzel

kneitzel

Top Contributor
Der DataProvider liefert doch die Parameter für die Methode. Und wenn die Number, String erwartet, dann solltest du das auch entsprechend geben und nicht zwei Strings.

Und bei null wird der leere String zurückgegeben und nicht null. Der DataProvider liefert also den Input + das erwartete Ergebnis.
 
S

suryoyo

Mitglied
Valider Punkt. Mit dem Datentyp Numbers habe ich noch keine Erfahrungen gemacht. Danke für den Hinweis.
 
Anzeige

Neue Themen


Oben