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ösungTechnologien
Java · Spring · PostgreSQL · SQL · Redis · Docker · REST · SAML · Single Sign-On · SSO · JWT · JSON · CSV · Spring Boot · Spring Framework · Spring MVC · Spring Security · Spring Session · Spring Batch · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Testing · Spring Actuator · Spring Cloud · Spring Cloud Netflix · Spring Cloud Gateway · Spring WebFlux · Thymeleaf · JPA · JPQL · Hibernate · JavaMail · Jackson · Lombok · JUnit · AssertJ · Mockito · CI/CD · Jenkins · Groovy · Maven · SonarQube · Flyway · Nexus · Bash · GitHub · Amazon S3 · Amazon RDS · Amazon ElastiCache · Amazon Route 53 · Amazon SES · AWS Certificate Manager · Elastic Load Balancing · Nginx · HTML · JavaScript · Node.js · Npm · Kubectl · Jira · Confluence · Mac · IntelliJ IDEA · Domain-driven Design · Datenmodellierung · Serviceorientierte Architektur · API-Gateway · Backend for Frontend · Load Balancing · Microservices · Service-Discovery · Authentifizierung · Autorisierung · E-Mail · CloudBackend- 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ösungTechnologien
Java · OSGi · REST · MS SQL Server · JUnit · Mockito · AssertJ · Maven · JSON · Docker · Apache HTTP Server · Caching · Load Balancing · Reverse Proxy · Bash · Mercurial · Adobe Experience Manager (AEM) · Jira · Confluence · Mac · Serviceorientierte Architektur · Backend for FrontendEntwicklung 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ösungTechnologien
Swift · Java · Spring · REST · JSON · OAuth 2.0 · JWT · SQL · PostgreSQL · Datenmodellierung · HTML · CSS · Spring Boot · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Security · Thymeleaf · Hibernate · Flexmark · Tomcat · Maven · Jenkins · Groovy · Artifactory · Flyway · Bash · GitLab · StoreKit · Xcode · TestFlight · App Store Connect · JUnit · Mockito · Hamcrest · Nginx · Git · Redmine · IntelliJ IDEA · Mac · Serviceorientierte Architektur · Backend for Frontend · CI/CD