Junit Tests

linus1312

Mitglied
Hallo zusammen,

ich werde ab nächstem Semester programmieren in der Uni haben und möchte schon mal ein bisschen üben, um nicht ganz ins kalte Wasser geschmissen zu werden Hab hierzu eine Klasse geschrieben, die beliebig viele int summiert. Jetzt würde ich diese gerne mit JUnit testen. Leider komme ich hier überhaupt nicht weiter... :( Die Beispiele, die ich mir zu JUnit angesehen habe, kann ich irgendwie nicht auf meine Klasse anwenden oder ich stellt mich einfach zu dumm dafür an... Könnte mir jemand vielleicht helfen, wie so ein JUnit Test aussehen kann und was ich bei diesem Test alles genau testen soll?

Vielen Dank!

Java:
import java.util.Scanner;

public class Addition {
    public static void sum(int[] array) {
        int summe = 0;
        for (int i = 0; i < array.length; i++) {
            summe += array[I];
        }
        System.out.println("Die Summe Ihrer Zahlen ist: " + summe);
    }
    public static void main(String[] args) {
        int number;
        Scanner input = new Scanner(System.in);
        System.out.print("Wie viele Zahlen möchten Sie summieren?");
        number = input.nextInt();
        int[] array2 = new int[number];
        for (int i = 0; i < array2.length; i++) {
            System.out.print("Zahl eingeben:" + (i + 1) + ": ");
            array2[I] = input.nextInt();
        }
        sum(array2);
    }
}
[/I][/I]
 
Zuletzt bearbeitet von einem Moderator:

mrBrown

Super-Moderator
Mitarbeiter
Dein jetziger Code ist auch quasi untestbar geschrieben ;)

Deine sum macht aktuell zwei Dinge: die Zahlen aufaddieren und sie ausgeben. Besser ist, sie macht nur eins davon, nämlich das addieren und dann den Wert zurückgeben.
Dann kannst du sum schon mal unabhängig von der Ein- und Ausgabe testen.

Die Ein- und Ausgabe lässt sich prinzipiell auch testen, das erfordert aber noch mehr Änderungen, und wird mMn zu viel für deinen jetzigen Kenntnisstand, erstmal solltest du sum testen ;)
 

linus1312

Mitglied
Vielen Dank für deine Antwort.
Ja das stimmt. Leider weiß ich nicht wie ich das auseinander bekomme. Wenn ich die Ausgabe wegnehme, kann ich doch auch nichts mehr summieren...?
Könntest du mir vielleicht helfen, den Code einfacher zu gestalten, glaub ich denk da einfach um zu viele Ecken?
 

linus1312

Mitglied
Nur bedingt... Habs jetzt die Methode geändert, wie du gesagt hast. Aber die Ausgabe bleibt doch wegen dem Verweis auf die summe weiterhin oben im System.out.println...

public class Addition {
public static int sum(int[] array) {
int summe = 0;
for (int i = 0; i < array.length; i++) {
summe += array;
}
System.out.println("Die Summe Ihrer eingegebenen Zahlen ist: " + summe);
return summe;
}
public static void main(String[] args) {
int number;
Scanner input = new Scanner(System.in);
System.out.print("Wie viele Zahlen möchten Sie summieren?");
number = input.nextInt();
int[] array2 = new int[number];
for (int i = 0; i < array2.length; i++) {
System.out.print((i + 1) + " " + "Zahl eingeben:");
array2 = input.nextInt();
}
sum(array2);
}
}
 

SF2311

Mitglied
Du musst den Returnwert ausgeben, also :
Java:
System.out.println(sum(array2));
oder:
Java:
int summe = sum(array2);
System.out.println(summe);

und dafür dann den Ausgabebefehl aus Summe rausnehmen.

Und versuch mal den Code in Code-Tags([code=Java][/code]) zu setzen. Das mach es einfacher ihn zu lesen.
 
Zuletzt bearbeitet:

linus1312

Mitglied
Ah cool, hat geklappt :) Vielen Dank!
Könntest du mir vielleicht noch ein Beispiel für eine JUnit Test geben, damit ich die noch weiter üben kann?
 

mrBrown

Super-Moderator
Mitarbeiter
Java:
@Test
public void sum_1_2_3_expected_6() {
    int sum = Addition.sum(new int[]{1,2,3});

    Assert.assertEquals(6, sum);
}
 

linus1312

Mitglied
Super vielen Dank! :)
Eine allerletzte Frage, wenn ich jetzt mehrere Tests untereinander schreibe wie läuft das dann ab? Testet das Programm jeden Test hintereinander durch und gibt für jeden Test einen grünen oder einen roten Balken aus? Oder muss ich jeden Test einzeln auswählen und ausführen lassen?
 

mrBrown

Super-Moderator
Mitarbeiter
Eine allerletzte Frage, wenn ich jetzt mehrere Tests untereinander schreibe wie läuft das dann ab? Testet das Programm jeden Test hintereinander durch und gibt für jeden Test einen grünen oder einen roten Balken aus? Oder muss ich jeden Test einzeln auswählen und ausführen lassen?
Das hängt zT von der IDE ab ;)

Welche man startet, kann man meistens auswählen, entweder einzelne Methode, oder eine Klasse, oder ein package, etc...

Ausgeführt werden die dann alle nacheinander, jeder wird dann entweder als Rot oder Grün markiert, Balken gibts vermutlich für Gruppen von Tests, um Rote und Grüne relativ gegeneinander zu stellen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
6 Best Practice Feedback zu Service / JUnit Tests Java Basics - Anfänger-Themen 3
M Anfängerfehler - Tests JUnit IntelliJ Java Basics - Anfänger-Themen 24
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
W JUnit Tests Java Basics - Anfänger-Themen 4
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
L JUnit tests in java Java Basics - Anfänger-Themen 5
C JUnit Tests. How to Java Basics - Anfänger-Themen 5
S Kommt es zu Seiteneffekten wenn man waehrend den laufenden JUnit Tests den Code aendert? Java Basics - Anfänger-Themen 2
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
G JUnit-Tests im Programmdurchlauf starten Java Basics - Anfänger-Themen 4
M Junit Tests durchführen, die eine Verbindung zu einer Daten erfordern Java Basics - Anfänger-Themen 3
V Frage zu JUnit Tests Java Basics - Anfänger-Themen 3
A JUnit Tests in Jar-Archiv packen Java Basics - Anfänger-Themen 2
M JUNIT tests mit ant script ausführen Java Basics - Anfänger-Themen 4
T Junit Tests Java Basics - Anfänger-Themen 7
M Junit tests gehen nicht Java Basics - Anfänger-Themen 2
F Gleiche JUnit-Tests automatisert mit verschiedenen Methoden ausführen Java Basics - Anfänger-Themen 6
J Einführung in JUnit-Tests Java Basics - Anfänger-Themen 5
W junit.Test not accessible? Java Basics - Anfänger-Themen 4
D Cannot find JUnit.framework Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
U JUnit testen auf SomeException Java Basics - Anfänger-Themen 5
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
A JUnit testing is inkonsistent Java Basics - Anfänger-Themen 12
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
A Test Junit Java Basics - Anfänger-Themen 1
H Junit test Java Basics - Anfänger-Themen 12
P Methoden JUnit 4 - Test Java Basics - Anfänger-Themen 6
Y Wie kann ich Konsoleneingaben durch den Scanner mit JUnit 4 testen? Java Basics - Anfänger-Themen 1
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
N Fehler bei JUnit Test Java Basics - Anfänger-Themen 5
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
F JUnit - Was ist mit "side effects" gemeint ? Java Basics - Anfänger-Themen 2
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
B JUnit Test erstellen Java Basics - Anfänger-Themen 6
W Problem bei JUnit Test Aufgabe Java Basics - Anfänger-Themen 15
L Junit Testing bei XML? Java Basics - Anfänger-Themen 3
J LocalDateTime testen mit Junit Java Basics - Anfänger-Themen 20
W JUnit Test und HashCode Java Basics - Anfänger-Themen 14
A Objekt in Methode zurückgeben, JUnit zeigt Error Java Basics - Anfänger-Themen 2
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
O JUnit - Objektreferenzen Java Basics - Anfänger-Themen 3
G Testen mit JUnit Java Basics - Anfänger-Themen 4
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
S Junit Test Java Basics - Anfänger-Themen 2
shiroX Klassen Klasse/Methode private final jUnit-Fehler Java Basics - Anfänger-Themen 5
A IllegalArgumentException in JUnit testen Java Basics - Anfänger-Themen 3
V ToString-Methode mit JUnit testen(BlueJ) Java Basics - Anfänger-Themen 10
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
V JUnit Klassen Java Basics - Anfänger-Themen 3
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
M JUnit Testmethoden mit mehreren assert Methoden Java Basics - Anfänger-Themen 1
S Double und Gleitkommazahlen mit JUnit testen Java Basics - Anfänger-Themen 7
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
Z JUnit Exception Java Basics - Anfänger-Themen 2
M Ist die Hamcrest Bibliothek auch schon in Junit 4.11 verfügbar? Java Basics - Anfänger-Themen 1
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
M Reihenfolge von Testmethoden in JUnit beeinflussen Java Basics - Anfänger-Themen 2
S Separate Funktion für JUnit-Test Java Basics - Anfänger-Themen 3
T Best Practice JUnit: Wie Klassen durch Stubs/Mockups ersetzen Java Basics - Anfänger-Themen 7
T JUnit test failed Java Basics - Anfänger-Themen 3
T Junit in Eclipse Java Basics - Anfänger-Themen 1
P JUnit bedeutungen Java Basics - Anfänger-Themen 3
R JUnit Test mit einer Dateistruktur als Testparameter Java Basics - Anfänger-Themen 3
shiroX OOP Array kleinste Zahl mit jUnit test Java Basics - Anfänger-Themen 3
S JUnit assertEquals funktioniert nichgt wie es sollte :( Java Basics - Anfänger-Themen 7
B JUnit für JFileChooser Java Basics - Anfänger-Themen 6
S Code stimmt nicht für vorgegebenen JUnit-Test Java Basics - Anfänger-Themen 2
S File vergleich - Junit Java Basics - Anfänger-Themen 6
T JUnit Java Basics - Anfänger-Themen 18
G Junit Java Basics - Anfänger-Themen 4
X JUnit testing Java Basics - Anfänger-Themen 7
T JUnit Suite frage Java Basics - Anfänger-Themen 6
R JUnit Test mit mehrfach ausgeführt Java Basics - Anfänger-Themen 6
S InvocationTargetException bei JUnit Testlauf Java Basics - Anfänger-Themen 2
B JUnit - Mini-Test Java Basics - Anfänger-Themen 9
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
Y Junit Test - Testwert ändert sich Java Basics - Anfänger-Themen 12
T Junit --Exception testen Java Basics - Anfänger-Themen 15
G Erste Schritte JUNIT Regressionstests automatisieren Java Basics - Anfänger-Themen 2
M JUnit - nur einzelne Methode testen? Java Basics - Anfänger-Themen 4
M JUnit - nur Failures loggen? Java Basics - Anfänger-Themen 2
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
T JUNit Test IOException Java Basics - Anfänger-Themen 5
R String Replace für JUnit Java Basics - Anfänger-Themen 19
T JUNIT Nullpointerexception Java Basics - Anfänger-Themen 3
S [JUnit] eigener Testsuite Runner + Ausgabe Java Basics - Anfänger-Themen 6
S [JUnit] Print Results while running Java Basics - Anfänger-Themen 6
W Mit jUnit Array testen? Java Basics - Anfänger-Themen 5
I JUnit Datapoints für mehrere Testklassen Java Basics - Anfänger-Themen 4
Spin JUNIT Test Case - Problem bei testen Java Basics - Anfänger-Themen 2
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
E OOP einfache Array Aufgabe mit jUnit Java Basics - Anfänger-Themen 5
L JUNIT Testing Java Basics - Anfänger-Themen 3
C jUnit: Erfahren, ob der getestete Code eine Exception gehandelt hat Java Basics - Anfänger-Themen 3
timbeau JUnit Test Dauer speichern/loggen Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben