Wir lernen gerade JUnit-Tests in unserer Programmierklasse. Unsere Aufgabe war es, ein Verfahren zu schreiben, die die Summe der int-Werte in einem Array berechnet:Einfacher JUnit-Test funktioniert nicht
public class PIArrays
{
public int sum(final int[] array) {
int sum = 0;
for(int i = 0; i < array.length; i++){
sum += array[i];
}
return sum;
}
}
Dann sollen wir schreiben einen Test mit Hilfe von BlueJ-Tool.
public void testSum()
{
PIArrays pIArrays1 = new PIArrays();
assertEquals(3, pIArrays1.sum({1,2}));
}
Die Summe Methode funktioniert gut, die Testergebnisse in dieser Fehlermeldung jedoch:
"illegal start of expression"
Was genau mache ich falsch?
EDIT:
public class PIArraysTest ist falsch, es ist eigentlich public class PIArrays. Ich habe die falsche Zeile kopiert.
Der Fehler tritt in meiner Test-Klasse: public class PIArraysTest in dieser Zeile:
assertEquals(3, pIArrays1.sum({1,2}));
mit diesem Teil:
({1,2})
hervorgehoben beeing
Sie haben Ihre Klasse 'PIArraysTest' benannt und Sie bezeichnen sie als' PIArrays'? Das klingt nicht richtig. Verwenden Sie 'PIArraysTest pIArrays1 = new PIArraysTest();' in Ihrem Testcode. Bitte erläutern Sie den Fehler genauer. Welche Linie welche Klasse? Dies kann nicht das einzige Informationsrecht sein? – Clemenz
'pIArrays1.sum ({1,2})' -> 'pIArrays1.sum (neue int [] {1,2})' – UnholySheep
Danke für die Bearbeitung Ihrer Frage. Dies macht es viel klarer, was genau Sie fragen. Denken Sie daran, während Sie beim nächsten Mal andere Fragen zu SO stellen! – Clemenz