Skip to content

Tag 03: GitHub Testen in JUnit Test Driven Development

CodingRobIT edited this page Mar 14, 2023 · 1 revision

GitHub

Zur Zusammenarbeit im Team

Repository Erstellung:

  1. Repository erstellen in GitHub und anschließend in IntelliJ importieren, oder:
  2. In IntelliJ erstellen und anschließend auf GitHub stellen:
    --> IntelliJ -> Git (Leiste oben) -> Share Project on GitHub

Import Repository in IntelliJ:

File -> new project -> from version control -> URL des GitHub Projekts eingeben (zu finden im GitHub Repository unter "<> Code" (grüner Button)

Bearbeitung und Upload/ Download Änderungen

  • nach eigener Bearbeitung: (commit and) push wählen, um Änderungen auf GitHub zu stellen (oder in IntelliJ rechts oben grünen Aufwärts-Pfeil klicken)
  • um neuesten Stand Bearbeitung herunterzuladen: in IntelliJ rechts oben blauen Abwärts-Pfeil klicken

Kollaborateure einladen

in GitHub ins Repository gehen -> Settings (Zahnradsymbol) -> "Collaborators" --> hier Personen adden

Testen (in IntelliJ mit JUnit)

Test generieren:

  • Innerhalb der Klasse die getestet wird rechts Mausklick -> “Generate” -> "Test" (wichtig, hier JUnit Version 5.8.1 wählen)
  • Test Class öffnet sich

Test ist aus drei Teilen aufgebaut:

  1. Given: (kontrollierte) Ausgangslage
  2. When: hier findet der tatsächliche Test statt
  3. Then: Überprüfung Testergebnis

Bei Benennung der Testmethode "whenThen"-Formulierung verwenden

Beispiel Code Test:

class MainTest{
 @Test
 void shouldReturnTrueWhenGivenAStringLongerThan20(){
    //Given
    String longEnough = "This String will be longer than 20.";
    //When
    boolean actual = Main.isLongerThan20(longEnough);
    //Then
    assertEquals(true, actual);
  }
}

Student Service

  • Vorstellung Franz Wilhelmy (Ansprechpartner für alle nicht-fachlichen Fragen, Kontakt: slack, email)
  • Vorstellung Career Success Management (Valeria)
  • Talent-App

Links:

Test-Driven-Development

neue Herangehensweise: zuerst Tests schreiben, dann erst Produktivcode erstellen (Test -> Methode)

Vorteil: Code ist weniger fehleranfällig und "cleaner"

Beispiel: Methode "fizzbuzz"

  • 4 Anforderungen sind zu erfüllen

Workflow:

  • neue Klasse erstellen "FizzbuzzTest"
  • Test für 1. Testanforderung schreiben
  • Klasse "Fizzbuzz" automatisch generieren lassen (drüberhovern und create class auswählen) oder manuell anlegen
  • Methode "fizzbuzz" automatisch generieren lassen (drüberhovern und create class auswählen) oder manuell anlegen
  • Methode schreiben, die Testkriterien des ersten Tests erfüllt
  • Schritte für 2. Testanforderung wiederholen
  • beim Anpassen der Methode Modulo-Operator verwenden (gibt den Restwert einer Division zurück)
  • Schritte für 3. und 4. Testanforderung wiederholen

-> Demo-Code "Fizzbuzz"

Bonus-Aufgabe: Methode "sumSquareOrSubstract"

Weitere Bonus-Aufgaben:

Clone this wiki locally