Python Unit Testing Kurs

pytest, doctest und unittest

Sie wollen Ihren Python Code testen und in das nächste Level bringen? Dann sind Sie hier richtig! Die Python Unit Testing Schulung ist ideal für alle, die pytest und doctest kompakt, praxisorientiert und schnell erlernen und in Ihren Python Projekten unmittelbar umsetzen wollen. Erfahren Sie hier mehr über Python pytest und doctest Praxis Seminar...

 

Vorteile

  • Schneller und praxisorientierter Einstieg in Python Unit Testing
  • Kompetente Trainer: Buchautoren und Universitätsdozent
  • Individuelle Betreuung: wir gehen gezielt auf jeden Teilnehmer ein Maßgeschneiderte Themen: wir berücksichtigen soweit wie möglich Ihre Vorkenntnisse, Wunschthemen und Schwerpunkte
  • Intensive Betreuung: Maximal 8 Teilnehmer
  • Nachhaltige Betreuung, falls Sie später Fragen zu den Inhalten haben
  • Praxisorientiert: Theorie 30% und Praxis 70%
  • Kompakt: auf das für die Praxis Wesentliche optimiert (2 statt 3 Tage)
  • Hochwertiges Lernmaterial und viele Programmieraufgaben
  • Moderne Laptops während der Schulung -ohne Aufpreis!
  • Schöne Ambiente inklusive Verpflegung: Getränke, Vormittagssnack, warmes Mittagessen, Kaffee und Kuchen inklusive

Inhalte

  • Unit Testing
  • pytest fundamentals
  • Test Functions
  • pytest Fixtures
  • config.py
  • Parameterized Tests
  • xUnit-Framework
  • unittest
  • doctest
  • Test Double
  • Stubs and Mocks
AGENDA

Ziele

  • Python Unit Testing leicht und praxisorientiert lernen und anwenden
  • beherrschen die Entwicklung von Unittests mit pytest
  • Tests für die fehlerfreie Ausführung von Funktionen und Methoden
  • Testen von erwarteten Exceptions
  • Einsatz parametrischer Tests
  • doctest und unittest Grundlagen lernen und anwenden
  • Gute und anspruchsvolle pytest in Python schreiben können
  • Python Code durch gute Unit Testing verbessern und optimieren
  • Direkte, praktische Anwendungsbereiche für die tägliche Arbeit
  • Erfolgserlebnisse durch Meistern der Programmieraufgaben
  • Neugier auf weitere anspruchsvolle Python Themen wecken

Zielgruppe

Pytest und Doctest Seminar an der Coding Akademie München richtet sich an Programmierer/innen mit grundlegenden Python Kenntnissen. Im Optimalfall haben Sie zuvor unsern Python für Programmierer Kurs absolviert oder unsere Python für Nicht-Programmierer I+II Kurse erfolgreich belegt. Oder Sie verfügen über vergleichbare Python Kenntnisse. Dann sind Sie in diesem Seminar garantiert richtig.

Programmierer mit guten Python Kenntnissen

Python Kurs für Programmierer

ODER Python Kurs für Nicht-Programmierer I+II

Beschreibung

Gute und richtige Unit Tests erhöhen die Codequalität. Denn sie bringen Programmierer dazu, sich mit dem Production Code und dessen logischen Struktur intensiv auseinanderzusetzen und besser zu gestalten.

Ein Python Code, der so geschrieben ist, dass er leicht zu testen ist, ist normalerweise auch ein Code, der leicht zu erweitern uist. Dadurch wird Ihr Python Programm flexibel und kann auf neue Kundenanforderungen schnell reagieren und realisieren.

Programmierer mit grundlegenden Python Kenntnissen im Umfang von Python Kurs für Programmierer oder Python Kurs für Nicht-Programmierer I+II profitieren sehr von diesem Kurs. Hier lernen Sie anhand von vielen Beispielen und Aufgaben wie Sie Unit Testing in Ihren Python Projekten einsetzen können.

Für die meisten Projekte empfehlen wir die Verwendung des pytest Test-Frameworks (in Kombination mit doctest). Demzufolge beruht auch die Schulung standardmäßig auf pytest und doctest. Bei Bedarf kann die Schulung aber auch komplett mit unittest oder nose2 statt pytest durchgeführt werden. Da das nose-Framework seit mehreren Jahren im ”Maintenance Mode“ ist und die Wartung nach Aussage der Autoren bald eingestellt werden könnte, raten wir typischwerweise von einer Schulung für das nose-Framework ab, sofern nicht eine große Legacy Codebasis vorhanden ist, die dieses Framework noch verwendet.

Warum pytest?

Das in der Python Standardbibliothek enthaltene unittest-Framework ist strukturell sehr eng an die von anderen Sprachen bekannten xUnit Frameworks (wie, z.B. jUnit) angelehnt. Dadurch ist es möglicherweise Programmierern, die Erfahrung mit Tests in anderen Sprachen haben, zunächst vertrauter. Allerdings nutzt unittest dadurch viele Möglichkeiten, die Python bietet nicht aus.

Das pytest-Framework bietet u.a. folgende Vorteile:

  • Tests haben weniger syntaktischen Overhead und sind dadurch leichter zu schreiben,lesen und warten.
  • Das Fixture-Konzept von pytest ist leichtgewichtiger und modularer als das von unittest, dadurch können Tests besser in kleine, unabhängige Einheiten aufgeteilt werden.
  • Durch Assertion-Introspektion wird lediglich das assert-Statement zum Schreiben von Tests benötigt und nicht eine Sammlung von Framework-spezifischen Statements zum Testen spezifischer Bedingungen. Die Features der wichtigsten anderen Frameworks werden von pytest (mit weni- gen Ausnahmen) unterstützt: pytest kann standardmäßig unittest-, doctest- und nose-Tests ausführen.
  • pytest ist durch Plugins erweiterbar und kann dadurch bei Bedarf an spezielle Projektanforderungen angepasst werden. Da unittest in vielen Python-Projekten verwendet wird, enthält der Kurs ein Modul, dass die Grundlagen dieses Frameworks bespricht.

Was lernen Sie am ersten Tag?

Wir starten entspannt und langsam aber direkt mit der Praxis! Wie installiere ich pytests und wie schreibe ich mein Unit Testing in Python mit pytest (assert-Statement). Was passiert wenn Tests fehlschlagen? Wie sollen meine Testmethoden heißen (Namenskonventionen für Tests mit pytest). Anhand von vielen Beispielen und kleinen Programmieraufgaben steigen wir gemeinsam in die Unit Testing Welt von Python ein.

Danach widmen wir uns weitere Features von pytests wie z.B. Erwartete Exceptions, Markieren von Testmethoden und Auswahl von Testmethoden.Auch Schreiben von Tests mit Fehlerbehandlung und Selektion von Tests. Viele Beispiele und Aufgaben erklären diese Features. Nun schauen wir uns die sogenannten pytest Fixtures (Herstellen eines bestimmten Zustands für Tests) an, sowie Wiederverwendung von Fixtures und config.py. Weitere Feinheiten wie Scope von Fixtures und Verwendung mehrerer Fixtures meistern wir gemeinsam mit vielen Beispielen und kleinen Aufgaben.

Was lernen Sie am zweiter Tag?

Wir starten unseren Tag mit fortgeschrittener Technik: Einsatz parametischer Tests. Was sind parameterische Tests? Wie schreiben wir sie? und welche Arten von Parametern gibt es? Was bedeutet Parameterische Fixtures? Wie sehen sie genau aus? Viele Beispiele und Aufgaben erklären das mächtige Konzept von parameterischen Tests.

Nach pytest widmen wir uns doctest an.Mit doctest können wir ausführbare Dokumentation udn Spezifikation erstellen. Sie lernen Schritt für Schritt und praxisorientiert wie Sie ausführbare Spezifikation erstellen und wie Sie Dokumentation von Klassen und Funktionen mit doctest meistern (Spec by Example). Auch hier werden Sie viele Beispiele sehen, verstehen und kleine Aufgaben meistern.

Danach geben wir eine kleine Einführung in xUnit Frameworks und unittests Wir behandeln: Fixtures, Test Cases und Test Suites in unittest sowie die verschiedenen Set-Up und Tear-Downs Methoden. Abhängig von dem Fortschritt und der Themenwünsche der Teilnehmer können wir -wenn die Zeit ausreicht- auch eine Einführung in Test Doubles in Python geben. Also testen mit Stubs und Mocks.

Die Trainer

Einer der folgendern Trainer wird das Python Unit Testing Kurs Seminar durchführen:

Trainer: Allaithy Raed

Allaithy Raed

Java Trainer, Coach, Consultant und Geschäftsführer
Experte für Java, Python, Clean Code, Clean SW-Architektur, Refactoring, Testing, Train The Trainer

Mehr Infos

Trainer: Dr. Matthias Hölzl

Dr. Matthias Hölzl

Ehemaliger Professor für Software and Computational Systems Engineering an der LMU München
Experte für Python, Java, C++, JavaScript, Clean Architektur, Künstliche Intelligenz, Agile Methoden

Mehr Infos

Trainer: Prof. Dr. Peer Kröger

Prof. Dr. Peer Kröger

Professor für künstliche Intelligenz und Datenbank an der Ludwig-Maximilians-Universität München
Experte für Künstliche Intelligenz, Data Mining, Maschinelles Lernen, Python, Datenbank

Mehr Infos

Zertifikat

Sie erhalten als Teilnehmer am Python Unit Testing Kurs ein anerkanntes Zertifikat. Voraussetzung dafür ist die komplette Teilnahme an allen Kurseinheiten und Programmier-Aufgaben und die erfolgreiche Programmierung eines kleinen Abschlussprojektes. Das allerdings wird Ihnen nach diesem intensiven Kurs mehr Freude als Stress bereiten.