Tests mit GitHub Actions ausführen
Integrieren Sie automatisierte Unit- und Integrationstests in Ihre CI-Pipeline, um die Codequalität sicherzustellen und Regressionen zu verhindern.
Tests mit GitHub Actions ausführen ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CI/CD with GitHub Actions & DevOps Pipelines-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Warum Tests in CI automatisieren?
Stellen Sie sich vor, Sie ändern Ihren Code und wissen sofort, ob Sie dadurch an anderer Stelle etwas kaputt gemacht haben. Das ist die Stärke automatisierter Tests in Ihrer CI-Pipeline!
Continuous Integration (CI) bedeutet, Codeänderungen regelmäßig in ein zentrales Repository zu integrieren. Automatisierte Tests sichern diesen Prozess ab.
Sie erkennen Fehler frühzeitig, liefern schnelles Feedback und schaffen Vertrauen in jede Codeänderung.
Testarten in Ihrer Pipeline
Wenn wir über automatisierte Tests sprechen, sind häufig zwei Hauptarten gemeint: Unit-Tests und Integrationstests.
- Unit-Tests: Sie konzentrieren sich auf kleine, isolierte Teile Ihres Codes, etwa eine einzelne Funktion oder Methode. Sie sind schnell und machen die genaue Fehlerstelle sichtbar.
- Integrationstests: Sie prüfen, ob verschiedene Teile Ihres Systems korrekt zusammenarbeiten, etwa wenn Ihr Code mit einer Datenbank oder einer API interagiert.
Beide Testarten sind entscheidend, damit Ihre Software robust und zuverlässig ist.
Tests mit GitHub Actions automatisieren
GitHub Actions kann als Ihr persönlicher Test-Runner fungieren und Ihre Tests automatisch ausführen, sobald Sie neuen Code pushen.
Sie definieren einen Workflow, der festlegt, wann er ausgeführt wird, welche Umgebung verwendet wird und welche Befehle auszuführen sind.
So wird jede Änderung einheitlich und ohne manuellen Aufwand überprüft.
Ein Java-Projekt für Tests vorbereiten
Zur Veranschaulichung verwenden wir ein einfaches Java-Projekt, das mit Maven verwaltet wird, einem beliebten Tool zur Build-Automatisierung.
Maven unterstützt die Verwaltung von Projektabhängigkeiten und stellt Befehle zum Kompilieren des Codes und Ausführen von Tests bereit.
Unser Projekt enthält eine einfache Java-Klasse und einen dazugehörigen JUnit-Test (konzeptionell).
Unser erstes ausführbares Testbeispiel
Hier sehen Sie eine einfache Java-Klasse und einen grundlegenden Test, der ihre Funktionalität überprüft. Der Einfachheit halber simulieren wir einen Unit-Test ohne vollständige JUnit-Konfiguration.
Die main-Methode fungiert als unser Test-Runner und prüft, ob die Methode add wie erwartet funktioniert.
Führen Sie das Beispiel aus, um die Ausgabe zu sehen!
public class Calculator {
// Method to be tested
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
Calculator calc = new Calculator();
// Simulate a test case
int expected = 5;
int actual = calc.add(2, 3);
if (actual == expected) {
System.out.println("Test Passed: 2 + 3 = " + actual);
} else {
System.out.println("Test Failed: Expected " + expected + ", Got " + actual);
}
}
}Ihren Test-Workflow erstellen
Sehen wir uns nun an, wie eine GitHub-Actions-Workflow-Datei (.github/workflows/test.yml) zum Ausführen unserer Tests aussehen würde.
Diese YAML-Datei definiert die Schritte, die GitHub Actions zum Einrichten der Umgebung und Ausführen Ihrer Testbefehle durchführt.
In einem realen Projekt verwenden wir den Maven-Befehl test, um vorhandene JUnit-Tests auszuführen.
name: Java CI with Maven
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Run Maven Tests
run: mvn test
Die einzelnen Workflow-Schritte verstehen
Schauen wir uns die wichtigsten Schritte unseres Test-Workflows genauer an:
on: push / pull_request: Löst den Workflow bei Code-Pushes oder Pull Requests für den Branchmainaus.runs-on: ubuntu-latest: Legt das Betriebssystem für die virtuelle Maschine (den Runner) fest, auf der der Workflow ausgeführt wird.actions/checkout@v4: Eine vorgefertigte Action, die den Code Ihres Repositorys auf den Runner auscheckt.actions/setup-java@v4: Eine weitere Action zum Einrichten des Java Development Kits (JDK) auf dem Runner.run: mvn test: Dies ist der entscheidende Schritt! Er führt den Maven-Befehl aus, um Ihren Code zu kompilieren und alle definierten Tests auszuführen.
Mit fehlgeschlagenen Tests in CI umgehen
Ein wesentlicher Vorteil von CI-Tests ist das sofortige Feedback. Wenn ein Test fehlschlägt, schlägt auch der GitHub-Actions-Workflow-Job fehl.
Dadurch wird deutlich signalisiert, dass die letzte Codeänderung einen Fehler oder eine Regression eingeführt hat.
Anschließend können Sie die Workflow-Logs prüfen, um genau festzustellen, welcher Test fehlgeschlagen ist und warum. So lassen sich Probleme schnell beheben.
Die Auswirkungen: Qualität und Vertrauen
Die Integration automatisierter Tests in Ihre CI-Pipeline ist ein Grundpfeiler der modernen Softwareentwicklung.
Sie verhindert aktiv Regressionen, gewährleistet eine gleichbleibende Codequalität und verringert das Risiko, fehlerhafte Funktionen bereitzustellen, erheblich.
Dieser Prozess schafft Vertrauen in Ihre Codebasis und ermöglicht es Ihrem Team, schneller und zuverlässiger Innovationen umzusetzen.
Überprüfung des Test-Workflows
Stellen Sie sich einen GitHub-Actions-Workflow vor, der Tests ausführen soll. Was ist der Hauptzweck des Schritts run: mvn test in einem Java-Projekt?
Zusammenfassung: Tests in Ihrer CI-Pipeline
In dieser Lektion haben wir untersucht, wie Sie automatisierte Tests in Ihre GitHub-Actions-CI-Pipeline integrieren.
Wir haben Folgendes behandelt:
- Die Bedeutung automatisierter Tests für die Codequalität.
- Die Unterscheidung zwischen Unit- und Integrationstests.
- Den Aufbau eines GitHub-Actions-Workflows zum Ausführen von Java-Tests mit Maven.
- Das Verständnis von Workflow-Schritten wie
checkoutundsetup-java. - Die entscheidende Rolle von
mvn testbeim Ausführen Ihrer Tests. - Wie GitHub Actions Testfehler meldet.
Automatisierte Tests sind entscheidend, um Fehler frühzeitig zu erkennen und eine robuste Codebasis zu erhalten!
Häufig gestellte Fragen
Ist die Lektion „Tests mit GitHub Actions ausführen“ kostenlos?
Ja — der vollständige Text von „Tests mit GitHub Actions ausführen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CI/CD with GitHub Actions & DevOps Pipelines-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Tests mit GitHub Actions ausführen“?
Integrieren Sie automatisierte Unit- und Integrationstests in Ihre CI-Pipeline, um die Codequalität sicherzustellen und Regressionen zu verhindern. Du übst CI/CD with GitHub Actions & DevOps Pipelines mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um CI/CD with GitHub Actions & DevOps Pipelines zu starten?
Keine Vorkenntnisse erforderlich. CI/CD with GitHub Actions & DevOps Pipelines auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Tests mit GitHub Actions ausführen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser CI/CD with GitHub Actions & DevOps Pipelines-Lektion Code schreiben und ausführen?
Ja. Jede CI/CD with GitHub Actions & DevOps Pipelines-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Workflow-Trigger und Events
- Tests mit GitHub Actions ausführen
- Linting und Codequalitätsprüfungen
- Abhängigkeiten für schnellere Builds cachen