Wat is Testbench Workbench?
Orchestra Testbench is bedoeld voor tests, maar in combinatie met Workbench kun je binnen je package-repository een kleine Laravel-app bouwen en lokaal draaien. Je gebruikt het als aanvulling op de tests uitpackage-testing, wanneer je UI-controles, routebereikbaarheid en verificatie met seeders wilt uitvoeren.
Setup
1
Installeer Testbench
2
Maak de Workbench aan
- De directorystructuur van
workbench/aanmaken - De Workbench-namespace toevoegen aan
autoload-devincomposer.json - Buildcommando’s toevoegen aan de
scriptsvancomposer.json
3
Bouwen en starten
workbench:install richt de map workbench/, autoload-dev en de bijbehorende scripts in één keer in.composer.json.
De ontwikkelomgeving definiëren met testbench.yaml
Het gedrag van Workbench beheer je met eentestbench.yaml in de root.
Ook environment variables kun je in
testbench.yaml beheren.
De directorystructuur van workbench
workbench
app
Http
Models
Providers
bootstrap
config
database
factories
migrations
seeders
public
resources
routes
storage
De belangrijkste functies van Workbench
WorkbenchServiceProvider
Maak een Workbench-specifieke service provider voor de demoregistraties.Routes en controllers
Inworkbench/routes/web.php en workbench/routes/api.php kun je verificatieroutes plaatsen.
Migrations en seeders
Metworkbench/database/migrations en workbench/database/seeders verifieer je met een datastructuur die dicht bij productie ligt.
De service starten en CLI-controles
Viavendor/bin/testbench kun je Artisan-commando’s uitvoeren.
Testen met de WithWorkbench-trait
Met deWithWorkbench-trait wordt de configuratie uit testbench.yaml ook op je geautomatiseerde tests toegepast.
Samenwerking met je tests
Het werkt het prettigst als je de rollen verdeelt: Workbench als “app voor handmatige controle en demo’s” en de Testbench-testcode als “geautomatiseerde verificatie”.- Automatisering: regressies voorkomen in
tests/ - Handmatige controle: schermen, flows en integratiegedrag controleren in
workbench/
Probleemoplossing
De Workbench bouwt niet
De Workbench bouwt niet
Controleer de syntaxis van
testbench.yaml en de providerconfiguratie. Een YAML-indentatiefout is een veelvoorkomende oorzaak.Routes worden niet geladen
Routes worden niet geladen
Controleer het pad van het routebestand en de registratie in de WorkbenchServiceProvider. Kijk of
discovers.web in testbench.yaml op true staat.Er treedt een databasefout op
Er treedt een databasefout op
Controleer of het pad naar de migrations klopt. Gebruik je SQLite, kijk dan of de buildstap
create-sqlite-db is opgenomen.Gerelateerde pagina’s
Laravel-packages testen met Orchestra Testbench
Bekijk eerst hoe je een testinfrastructuur voor packages opzet.
Versiecompatibiliteit van packages beheren
Bekijk de compatibiliteitstabel van Laravel en Testbench en het beheer van de CI-matrix.