Was ist Testbench Workbench?
Orchestra Testbench ist auf Tests ausgelegt. In Kombination mit Workbench können Sie jedoch eine kleine Laravel-Anwendung innerhalb Ihres Paket-Repositorys erstellen und lokal ausführen. Nutzen Sie Workbench als Ergänzung zu den inpackage-testing gebauten Tests, wenn Sie UI-Prüfungen, Routen-Sanity-Checks oder Datenprüfungen mit Seeder machen wollen.
Einrichtung
1
Testbench installieren
2
Workbench anlegen
- die Ordnerstruktur
workbench/anzulegen, - den Workbench-Namensraum in
autoload-devdercomposer.jsoneinzutragen, - Build-Skripte in
scriptsdercomposer.jsonzu ergänzen.
3
Bauen und starten
workbench:install richtet den Ordner workbench/, den Eintrag in autoload-dev und die zugehörigen Skripte gemeinsam ein.composer.json folgende Skripte:
Umgebung mit testbench.yaml definieren
Das Verhalten der Workbench steuern Sie über die Dateitestbench.yaml im Projekt-Root.
Auch Umgebungsvariablen lassen sich in
testbench.yaml pflegen.
Struktur des Ordners workbench
workbench
app
Http
Models
Providers
bootstrap
config
database
factories
migrations
seeders
public
resources
routes
storage
Wichtige Funktionen der Workbench
WorkbenchServiceProvider
Legen Sie einen Workbench-eigenen Service Provider an, um Demo-Registrierungen vorzunehmen.Routen und Controller
Legen Sie Testrouten inworkbench/routes/web.php oder workbench/routes/api.php ab.
Migrationen und Seeder
Mitworkbench/database/migrations und workbench/database/seeders prüfen Sie das Paket in einer datenrealistischen Umgebung.
Service-Start und Prüfung über CLI
Artisan-Befehle führen Sie übervendor/bin/testbench aus.
Tests mit dem Trait WithWorkbench
Mit dem TraitWithWorkbench werden die Einstellungen aus testbench.yaml auch in automatischen Tests aktiv.
Zusammenspiel mit Tests
Wenn Sie die Workbench als „manuelle Prüfung / Demo-App” und die Testbench-Tests als „automatische Verifikation” verstehen, ist der Betrieb klarer:- Automatisiert:
tests/schützt vor Regressionen. - Manuell:
workbench/prüft UI, User-Flow und integriertes Verhalten.
Fehlerbehebung
Workbench baut nicht
Workbench baut nicht
Prüfen Sie Syntax und Provider-Einträge in
testbench.yaml. Häufig sind YAML-Einrückungen die Ursache.Routen werden nicht geladen
Routen werden nicht geladen
Prüfen Sie den Pfad Ihrer Routendatei und die Registrierung im WorkbenchServiceProvider. Stellen Sie sicher, dass
discovers.web in testbench.yaml auf true steht.Datenbankfehler
Datenbankfehler
Prüfen Sie die Migrationspfade. Bei SQLite muss der Build-Schritt
create-sqlite-db enthalten sein.Verwandte Seiten
Laravel-Pakete mit Orchestra Testbench testen
Zunächst die Testgrundlage für Pakete aufbauen.
Versionskompatibilität von Paketen verwalten
Kompatibilitätsmatrix von Laravel/Testbench und Betrieb der CI-Matrix.