Enterprise Maven Master
Master 18 - Enterprise Testing Master - Projektbeschreibungen
Projektbeschreibungen
| Modul | Aufgabe | Ablauf | Pattern | Tests |
|---|---|---|---|---|
test-domain-samples | Sample-Domain (Order) plus OrderTestDataBuilder mit sinnvollen Defaults für alle anderen Testing-Kits. | Defaults setzen -> einzelne Felder überschreiben -> Objekt bauen | Test Data Builder | OrderTestDataBuilderTest (2): Defaults korrekt, gezielte Felder überschreibbar. |
unit-test-patterns | EqualsHashCodeVerifier prüft den equals/hashCode-Vertrag zweier Instanzen wiederverwendbar. | Gleichheit prüfen -> Hashcode prüfen -> Ungleichheit prüfen | Unit Test Pattern | EqualsHashCodeVerifierTest (2): akzeptiert korrekten Vertrag, schlägt bei Verstoß fehl. |
integration-test-fixtures | InMemoryOrderRepository als Test-Double für eine echte Persistenzschicht. | Speichern -> Nachschlagen -> Ergebnis liefern | Test Double (Fake) | InMemoryOrderRepositoryTest (2): Round-Trip funktioniert, unbekannte Id liefert leeres Optional. |
contract-test-kit | EventEnvelope-Contract plus EventEnvelopeValidator für Consumer-Driven-Contract-Prüfungen. | Envelope entgegennehmen -> Pflichtfelder prüfen -> Version prüfen | Consumer-Driven Contract | EventEnvelopeValidatorTest (3): akzeptiert vollständigen v1-Envelope, lehnt leere Correlation-Id und falsche Version ab. |
architecture-test-rules | PackageDependencyRule: ausführbare Fitness Function statt reiner Architektur-Dokumentation. | Erlaubte Abhängigkeiten definieren -> tatsächliche Abhängigkeiten prüfen -> Verstöße melden | Fitness Function | PackageDependencyRuleTest (2): erlaubte Abhängigkeit besteht, verbotene Abhängigkeit wird gemeldet. |
security-test-kit | SecretScanner findet versehentlich eingecheckte Passwörter/Private Keys in Text/Konfiguration. | Inhalt scannen -> Muster abgleichen -> Funde melden | Security Test Kit | SecretScannerTest (3): sauberer Inhalt ohne Fund, erkennt Passwort, erkennt Private-Key-Block. |
migration-test-kit | SnapshotComparator vergleicht einen Vorher-/Nachher-Datenstand einer Migration auf Added/Removed/Changed. | Snapshots vergleichen -> Differenzen ermitteln -> Diff liefern | Migration Test Kit | SnapshotComparatorTest (2): keine Differenz bei identischen Snapshots, erkennt added/removed/changed. |
performance-light-tests | ExecutionTimeAssertion prüft eine Laufzeit-Schwelle ohne vollen Lasttest. | Aktion ausführen -> Laufzeit messen -> gegen Schwelle prüfen | Light Performance Test | ExecutionTimeAssertionTest (2): besteht bei ausreichend schneller Aktion, schlägt bei Überschreitung fehl. |
test-reporting | Sieben QualityCheck-Adapter (je Kit einer) plus QualityGateRunner (Composite) führen alle Checks aus; QualityGate (Domain) erzwingt "nur bei vollständig grünem Report freigeben"; ReleasePromotionService (Application) orchestriert beides. | Checks ausführen -> Report bauen -> Freigabe-Invariante prüfen -> freigeben oder blockieren | Port/Adapter, Composite, Aggregate, Application Service | QualityGateRunnerTest (1), QualityGateTest (2): gibt bei grünem Report frei, blockiert und nennt fehlgeschlagenen Check. ReleasePromotionServiceTest (2): Standard-Checks bestehen, ein simulierter Fehlschlag blockiert die Freigabe. |
contract-reference-tests | Eigenständiges Contract-Testprojekt mit JSON-Schema-Validierung für den Event-Envelope. | Envelope aufbauen -> Pflichtfelder prüfen -> Version prüfen | Consumer-Driven Contract | EventEnvelopeContractTest (bereits vorhanden, 3). |
enterprise-reference-slice | Framework-neutrale Referenz für getestete Order-Services (Fixture, Retry-Policy, Service). | Fixture aufbauen -> Service ausführen -> Retry bei Bedarf | Command, Result Object | OrderFixtureTest, RetryPolicyTest, TestedOrderServiceTest (bereits vorhanden). |
runnable-smoke | Verdrahtet test-reporting zu einem End-to-End-Smoke-Test (mvn -pl runnable-smoke -am package). | Alle sieben Checks ausführen -> Ergebnisse sammeln -> Gesamtstatus melden | Command, Pipeline, Result Object | Kein eigener JUnit-Test; verifiziert STATUS=OK für alle sieben Checks zur Laufzeit und bricht mit Fehler ab, falls einer fehlschlägt. |
Ausbaustufe 1 (minimal lauffähig): 19 JUnit-Tests über 9 vormals leere Submodule. Ausbaustufe 2 (fachlich ausgearbeitet): test-reporting bekam sieben QualityCheck-Adapter (statt fest verdrahteter Methoden), ein QualityGate-Domain-Aggregat und einen ReleasePromotionService — 4 weitere Tests, macht 33 Tests insgesamt für dieses Modul. Verifiziert mit mvn test (alle grün) und dem End-to-End-Smoke-Lauf mvn -pl runnable-smoke -am package (weiterhin STATUS=OK für alle sieben Quality-Gate-Checks).