Skip to main content

Cos’è Testbench Workbench

Orchestra Testbench è pensato per i test, ma combinandolo con Workbench puoi mantenere una piccola app Laravel dentro il repository del pacchetto ed eseguirla in locale. Serve a completare i test creati in package-testing quando vuoi verificare l’UI, la raggiungibilità delle rotte o eseguire verifiche con dati seeded.

Setup

1

Installare Testbench

2

Creare il Workbench

Questo comando fa tutto insieme:
  • crea la struttura di directory workbench/
  • aggiunge il namespace Workbench a autoload-dev di composer.json
  • aggiunge gli script di build a scripts di composer.json
Opzioni aggiuntive:
  • --force : sovrascrive i file esistenti
  • --basic : configurazione semplice senza rotte / package discovery
  • --devtool : abilita il supporto DevTool
3

Build e avvio

workbench:install prepara workbench/, autoload-dev e gli script correlati in un colpo solo.
Dopo l’installazione, composer.json conterrà i seguenti script.

Definire l’ambiente di sviluppo con testbench.yaml

Il comportamento di Workbench si gestisce con testbench.yaml nella root.
testbench.yaml può contenere impostazioni specifiche per ogni ambiente: è consigliato aggiungerlo a .gitignore ed escluderlo dal commit. Al suo posto includi nel repository un testbench.yaml.example come template.
Opzioni principali: Anche le variabili d’ambiente si gestiscono in testbench.yaml.

Struttura della directory workbench

workbench
app
Models
bootstrap
config
database
factories
migrations
public
storage

Principali funzionalità offerte da Workbench

WorkbenchServiceProvider

Crea un service provider dedicato a Workbench per la registrazione dei componenti demo.

Rotte e controller

In workbench/routes/web.php o workbench/routes/api.php puoi mettere rotte di verifica.

Migrazioni e Seeder

Usando workbench/database/migrations e workbench/database/seeders puoi verificare con una struttura dati simile alla produzione.
Il Seeder genera dati di test.

Avvio del server e verifica CLI

Puoi eseguire comandi Artisan tramite vendor/bin/testbench.

Test con il trait WithWorkbench

Il trait WithWorkbench applica la configurazione di testbench.yaml anche ai test automatici.

Integrazione con i test

Ti consigliamo questa divisione: Workbench è “l’app per verifiche manuali e demo”, il codice di test di Testbench è “la verifica automatica”.
  • Automazione: previeni regressioni con tests/
  • Verifica manuale: controlla UI, percorsi e comportamento integrato con workbench/

Troubleshooting

Controlla la sintassi di testbench.yaml e la configurazione dei provider. Spesso il problema è un errore di indentazione YAML.
Controlla il path del file delle rotte e la registrazione in WorkbenchServiceProvider. Verifica che discovers.web in testbench.yaml sia true.
Controlla che il path delle migrazioni sia corretto. Se usi SQLite verifica che sia presente lo step di build create-sqlite-db.

Pagine correlate

Testare pacchetti Laravel con Orchestra Testbench

Consulta prima come costruire l’infrastruttura di test del pacchetto.

Gestire la compatibilità tra versioni dei pacchetti

Rivedi la tabella di compatibilità Laravel/Testbench e l’operatività della matrix CI.
Ultima modifica il 13 luglio 2026