Mockito

Mockito ist ein Framework für die Entwicklung von Unit-Tests mit simulierten Objekten in Java. Die Bibliothek ermöglicht die isolierte Überprüfung von Komponenten durch flexible Mock-Objekte und Verifikations-Mechanismen ohne aufwendige Test-Infrastruktur.

Die strategische Bedeutung von Mockito zeigt sich in der effizienten Qualitätssicherung komplexer Softwaresysteme. Die Bibliothek unterstützt Entwicklungsteams bei der Implementierung aussagekräftiger Tests und ermöglicht die präzise Validierung von Komponenten-Interaktionen. Die vereinfachte Test-Entwicklung beschleunigt Feedback-Zyklen und verbessert die Code-Qualität.

Der Einsatz von Mockito reduziert Testkosten durch vereinfachte Mock-Erstellung und flexible Verhaltenskonfiguration. Die intuitive API minimiert den Test-Setup-Aufwand und beschleunigt die Testentwicklung. Die präzise Verifikation von Interaktionen ermöglicht detaillierte Qualitätskontrolle und vereinfacht Fehlerbehebung.

Die technische Integration erfolgt über eine fluent API mit umfangreichen Mock-Funktionen. Mockito unterstützt Argument-Matching und Verhaltens-Stubbing. Die Verifikations-API ermöglicht die Überprüfung von Aufrufhäufigkeiten und -reihenfolgen. Die Spy-Funktionalität erlaubt partielles Mocking. Die Annotations-Unterstützung vereinfacht Test-Setups. Die BDD-Syntax unterstützt verhaltensgetriebene Entwicklung.

Meine Beratungsleistung umfasst die Konzeption von Test-Strategien und deren Implementierung mit Mockito. Als erfahrener Entwickler unterstütze ich Teams bei der Entwicklung effektiver Unit-Tests und der Integration in bestehende Test-Suites. Die Kombination aus Test-Expertise und Framework-Erfahrung gewährleistet nachhaltige Code-Qualität.

Mockito Projekte

Entwicklung einer cloud-nativen Incentive-Anwendung mit AWS

Versicherungskonzern

07/2018 - 04/2019 · Remote

Entwicklung und Betrieb einer cloud-nativen Anwendung für die dezentrale unternehmensinterne Erfassung, zentrale Verwaltung und steuerliche Behandlung von vertrieblichen Incentives und geldwerten Vorteilen einschließlich CI/CD auf Basis von Kubernetes und Diensten in Amazon Web Services

Tätigkeiten

  • Planung und Einrichtung der Umgebungen für Entwicklung, Integration, Test, Schulung und Produktion auf Basis von Docker, Kubernetes und verschiedenen AWS-Diensten
  • Entwicklung der CI/CD-Pipelines für Frontend und Backend-Dienste
  • Erweiterung des API Gateways um Authentifizierung und Autorisierung auf Basis von Tokens
  • Mitwirkung an der Entwicklung der Geschäftslogik im Backend und der RESTful API einschließlich Test und Dokumentation
  • Mitwirkung an der Entwicklung des Datenmodells für die PostgreSQL-Datenbank
  • Mitwirkung an Planung und Entwicklung von Schnittstellen und Batch-Prozessen zum Austausch von Daten mit SAP Gateway, PostgreSQL, Redis und S3 mit Testdaten zum Zweck der lokalen Frontend- und Backend-Entwicklung
  • Dokumentation der Softwarearchitektur einschließlich Betrieb, Schnittstellen und Prozessen
  • Einarbeitung der Betriebsveranwortlichen bei der Übergabe der Anwendung in den dauerhaften Betrieb
  • Projektsprachen: Deutsch, Englisch

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

AWS · Amazon Web Services · Kubernetes · Webbrowser

Backend- und CMS-Entwicklung für Airline-Portal

Fluggesellschaft

01/2018 - 06/2018 · Köln

Serverseitige Entwicklung einer Webanwendung mit Integration von Produktkatalog, Adobe Experience Manager, externen Diensten und einer Internet Booking Engine.

Tätigkeiten

  • Serverseitige Entwicklung zur Abfrage, Aggregation, Integration, Verknüpfung und Ausgabe von Daten aus verschiedenen Systemen:
    • Produktinformationen aus einer Datenbank mit Flugplänen, Preisen, geografischen Informationen über Kontinente, Länder, Regionen, Orte und Flughäfen
    • Redaktionell gepflegte multimediale Inhalte mit ergänzenden Informationen aus Adobe Experience Manager
    • Ergänzende Produktdaten aus externen Quellen (z. B. Informationen über das Reisewetter)
    • Parametrisierter Einsprung in das Buchungssystem
  • Berücksichtigung und Unterstützung von Mehrsprachigkeit und Lokalisierung (Sprachen, Währungen, Zeiten)
  • Entwicklung eines Docker Images mit Reverse Proxy, Caching, Load Balancing zur Integration der Systeme

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

Linux Server · Webbrowser

Entwicklung und Betrieb einer mobilen App mit Backend

Dienstleistungen

10/2016 - 07/2021 · Köln

Entwicklung und Betrieb einer nativen mobilen App für iPhone und iPad zur Berechnung von Anwalts- und Gerichtskosten mit In-App-Käufen (Abonnements) mit einem mobilen Backend auf Basis von Swift, Java, PostgreSQL und REST

Tätigkeiten

  • Entwicklung einer mobilen App für iOS und iPadOS zur Unterstützung von Juristinnen und Juristen bei der Bewertung wirtschaftlicher Prozessrisiken
    • Spezialisierte Rechner zur schnellen und präzisen Berechnung von Anwalts- und Gerichtskosten nach dem deutschen Rechtsanwaltsvergütungsgesetz (RVG) und dem Gerichtskostengesetz (GKG)
    • Berechnung der Kosten von Mahn- und Klageverfahren über mehrere Instanzen im Arbeits- und Zivilrecht
    • Berechnung von Kosten für außergerichtlichen Verfahren im Arbeits- und Zivilrecht
    • Berechnung der Verteilung der Kosten auf die Parteien des Verfahrens und des Kostenrisikos für Mandanten
    • Berücksichtigung der kostenrechtlichen Unterschiede bei Beendigung des Klageverfahrens durch Urteil oder Vergleich
    • Berücksichtigung verschiedener Umsatzsteuersätze
    • Die App ermöglichte es den Anwendern, ein Premium-Abonnement abzuschließen.
  • Entwicklung eines skalierbaren, sicheren Backend-Systems für die mobile App
    • Verwaltung der Premium-Abonnements mit REST API zum Abruf durch die mobile App
    • Verwaltung von Werbeanzeigen mit REST API zum Abruf der geschalteten Anzeigen durch die mobile App
    • Authentifizierung und Autorisierung über OAuth 2.0
    • Integration mit dem App Store
    • CI/CD-Pipelines auf Basis von Jenkins, GitLab und Artifactory
  • Entwicklung einer Website mit Informationen über die mobile App

Software-Typ

Mobile App · Backend-Service · API · Datenbank-Lösung

Zielplattformen

iPhone · iPad · Linux Server · Webbrowser