Automatisiertes Testen vor dem Deployment ist selbstverständlich.
Wenn Tests fehlschlagen, muss der Build fehlschlagen.
In lokalen Setups wie Visual Studio Code ist das meist unkompliziert. Tools wie wdi5 oder der UI5 Test Runner integrieren sich problemlos mit echten Browsern und ermöglichen Unit- und Integrationstests direkt aus der CLI als Teil der Pipeline.
Spannend wird es im SAP Business Application Studio (BAS).
Das Ziel ist klar:
SAPUI5 Unit- und Integrationstests sollen automatisch vor dem Deployment ausgeführt werden.
Das SAP Business Application Studio läuft in einem containerisierten Setup. Standardmäßig steht der CLI keine Headless-Browser-Runtime (z. B. Chromium) zur Verfügung.
Das bedeutet: Es gibt keinen Browser, der sich einfach per Kommandozeile steuern lässt.
Klassische Headless-Ansätze werden dadurch schnell unpraktisch.
Was BAS jedoch zuverlässig bereitstellt:
Die Lösung liegt also darin, diese Stärken gezielt zu nutzen.
Die Idee:
ui5 serve im Browser ausführen0, wenn alle Tests erfolgreich sind1, wenn mindestens ein Test fehlschlägtDer zentrale Baustein: Custom UI5 Server Middleware
Eine schlanke Node.js-Middleware wartet auf einen POST-Request aus dem Browser, sobald QUnit fertig ist.
POST /__qunit_done__exit(0) → Tests erfolgreichexit(1) → Tests fehlgeschlagenDer Exit-Code ist entscheidend, damit npm-Skripte und CI/CD-Pipelines korrekt reagieren können.
QUnit wird über QUnit.done erweitert.
QUnit.done, das nach Abschluss aller Tests ausgelöst wirdpassed, failed, total) an die MiddlewareDer Query-Parameter background unterscheidet zwischen:
Sobald Tests über den UI5 Development Server ausgeführt werden, wird die Middleware automatisch geladen.
Zuverlässige Funktion im SAP Business Application Studio
npm run deploy bedeutet jetzt tatsächlich: entweder getestet – oder gar nicht.
npm run deploy:
Dieser Ansatz ersetzt keine vollwertigen End-to-End-Testframeworks.
Aber für schnelle, verlässliche Unit-Test-Absicherung vor dem Deployment funktioniert er erstaunlich gut – insbesondere in eingeschränkten Umgebungen wie BAS.
Manchmal ist die beste Lösung nicht ein weiteres Tool, sondern bestehende Werkzeuge smarter miteinander zu verbinden.
Wenn du mit SAPUI5, QUnit und dem SAP Business Application Studio arbeitest, lohnt sich ein Blick auf diesen Ansatz.
Wenn du diesen Ansatz diskutieren möchtest, alternative Teststrategien suchst oder generell über Quality Gates in SAPUI5 sprechen willst, melde dich gerne bei mir auf LinkedIn – ich freue mich auf den Austausch.
Bei concircle unterstützen wir Teams dabei, nachhaltige SAP-UI-Architekturen aufzubauen – mit Fokus auf Qualität, Automatisierung und langfristige Wartbarkeit.
Wenn du deine SAPUI5-Delivery-Pipelines stärken oder sinnvolle Teststrategien in deinen Projekten etablieren möchtest, lass uns über dein konkretes Szenario sprechen.