Sprich mit einem Trainer:
Jonas Felix
Automatisiertes Testen gehört zu den wichtigsten Zutaten für qualitativen Code - trotzdem wird es oft vernachlässigt oder als lästige Pflicht angesehen. Mit pytest wird vieles einfacher: Tests lassen sich damit in Python sehr flexibel und unkompliziert implementieren. Das Framework lässt sich hervorragend an eigene Zwecke anpassen oder sogar als Grundlage zum Testing ausserhalb von Python verwenden.
Gerne führen wir zugeschnittene Kurse für euer Team durch - vor Ort, remote oder in unseren Kursräumen.
Dieser Kurs bietet eine Einführung in das pytest-Framework mit zahlreichen Übungen und Beispielen. Wir starten mit den Grundlagen und arbeiten uns durch die verschiedenen Features, die pytest bietet. Dabei machen wir aber auch keinen Halt vor fortgeschrittenen Themen wie Fixtures, Mocking oder Plugins.
Folgende Fragen - und noch viele mehr - werden in diesem Kurs von einem der pytest-Hauptentwickler beantwortet:
- Einleitung und Terminologie: Warum schreiben wir Tests? Warum pytest? Welche Arten von Tests gibt es?
- Erste Schritte und Assertions: Wie schreibe ich meinen ersten Test? Wie überprüfe ich, ob mein Code das tut, was er soll?
- Konfiguration und CLI: Wie führe ich Tests aus und wie kann ich das Verhalten von pytest beeinflussen?
- Tests organisieren: Wie strukturiere ich meine Tests? Wie kategorisiere ich sie mit Markern?
- Parameterisierung: Wie kann ich denselben Test mit verschiedenen Datensätzen ausführen?
- Fixtures: Wie kann ich Testdaten oder Objekte vorbereiten und wiederverwenden? Wie vermeide ich Code-Duplikation für Setup- und Teardown-Code? Welche Funktionalität liefert pytest in Form von eingebauten Fixtures bereits mit? Wie kann ich Caching und Parametrisierung von Fixtures nutzen?
- Migration: Wie migriere ich von einem anderen Python Test-Framework zu pytest?
- Mocking: Wie gehe ich mit stark gekoppelten Komponenten oder externen Abhängigkeiten um? Welche Werkzeuge und Alternativen gibt es fürs Mocking und Patching?
- Hypothesis: Wie kann ich mit generativen Tests die Testabdeckung erhöhen? Wie schreibe ich eigene Strategien? Wo liegen die Grenzen vom "Property-based testing"?
- Plugin-Tour: Was können pytest-Plugins? Wie sieht das Ökosystem rund um pytest aus?
- Eigene Plugins: Wie kann ich pytest an meine Bedürfnisse anpassen? Wie implementiere ich eigene Plugin-Hooks? Wie veröffentliche ich ein Plugin?
Disclaimer: Der effektive Kursinhalt kann, abhängig vom Trainer, Durchführung, Dauer und Konstellation der Teilnehmer:innen von obigen Angaben abweichen.
Ob wir es Schulung, Kurs, Workshop, Seminar oder Training nennen, wir möchten Teilnehmer/innen an ihrem Punkt abholen und mit dem nötigen praktischen Wissen ausstatten, damit sie die Technologie nach der Schulung direkt anwenden und eigenständig vertiefen können.
Die Teilnehmenden kennen nach diesem Kurs ein neues, mächtiges Werkzeug für die tägliche Software-Entwicklung. Das Schreiben von Tests soll dabei von einer lästigen Pflicht zu einer angenehmen und produktiven Tätigkeit werden. Auch fortgeschrittene Themen und pytest-Features wie Fixtures, Mocking und Plugins sind nach diesem Kurs keine Geheimnisse mehr.
Der Kurs ist interaktiv gestaltet und besteht aus einer Mischung von Frontalunterricht, Beispielen aus verschiedenen Projekten, Live-Coding und Übungen. Die Teilnehmenden können dabei direkt das Gelernte in die Praxis umsetzen und eigene Tests schreiben.
Der Kurs ist so aufgebaut, dass er sowohl für Einsteiger:innen als auch für Fortgeschrittene geeignet ist. Alle Entwickler:innen, die ihre Software-Qualität steigern und ihre Tests vereinfachen wollen, sind in diesem Kurs richtig.
Python-Grundkenntnisse wie das Schreiben von eigenen Funktionen und Klassen werden vorausgesetzt. Wir nutzen pytest primär via Kommandozeile, daher ist ein grundlegendes Verständnis der Kommandozeile von Vorteil.
Jeder Teilnehmer erhält nach der Anmeldung einen Fragebogen und eine Vorbereitungs-Checkliste zugestellt.
Eine unterstützte Python-Version sowie Entwicklungsumgebung der Wahl (z.B. PyCharm oder VS Code) sollte auf dem eigenen Laptop installiert sein. Es werden die Packages pytest und hypothesis benötigt, die z.B. über pip installiert werden können.
Danke für deine Anfrage, wir melden uns so rasch wie möglich.
Unerwarteter Fehler - bitte versuche es erneut.
Trage dich in die Warteliste ein für weitere öffentliche Kurs-Termine. Sobald wir genügend Personen auf der Warteliste haben, klären wir einen möglichst für alle passenden Termin ab und schalten einen neuen Termin auf. Falls du direkt mit zwei Kollegen oder Kolleginnen teilnehmen möchtest, können wir sogar direkt einen öffentlichen Kurs für euch planen.
Danke für deine Anfrage, wir melden uns so rasch wie möglich.
Unerwarteter Fehler - bitte versuche es erneut.
pytest wurde ursprünglich von Holger Krekel entwickelt und 2004 als 'py.test' veröffentlicht. Es entstand aus der Notwendigkeit, ein einfacheres und flexibleres Testing-Framework als das in Python eingebaute unittest zu schaffen, das von JUnit inspiriert war.
Die Entwicklung wurde maßgeblich von der Python-Testing-Community vorangetrieben, mit wichtigen Beiträgen von Ronny Pfannschmidt und Bruno Oliveira. Ein bedeutender Meilenstein war die Einführung des Fixture-Systems in Version 2.0, das die Art und Weise, wie Testumgebungen aufgebaut werden, revolutionierte.
Heute ist pytest das meistgenutzte Testing-Framework in der Python-Welt und wird von Projekten wie Mozilla, Dropbox und Kubernetes verwendet. Es hat nicht nur die Art und Weise verändert, wie Python-Entwickler Tests schreiben, sondern auch neue Standards für Test-Frameworks in anderen Sprachen gesetzt. Die Integration mit Tools wie Hypothesis für Property-Based Testing und die breite Plugin-Unterstützung machen es zu einem unverzichtbaren Werkzeug in der modernen Python-Entwicklung.
Sprich mit einem Trainer:
Jonas Felix
Trainings-Center:
Basel:
- Aeschenplatz 6, 4052 Basel
Zürich:
- HWZ, Lagerstrasse 5, 8004 Zürich
Firmenadresse:
felixideas GmbH
Baslerstrasse 5a
4102 Binningen