Skip to main content

Qu’est-ce que Testbench Workbench

Orchestra Testbench est conçu pour les tests ; en combinant Workbench, vous pouvez créer une petite application Laravel à l’intérieur du dépôt de votre package et l’exécuter localement. C’est utile en complément des tests écrits avec package-testing, pour vérifier l’interface, tester le routing et faire tourner l’application avec des seeders.

Installation

1

Installer Testbench

2

Créer Workbench

Cette commande fait le tout à la fois :
  • Crée la structure du répertoire workbench/.
  • Ajoute le namespace Workbench à autoload-dev du composer.json.
  • Ajoute les commandes de build aux scripts du composer.json.
Options supplémentaires :
  • --force : écrase les fichiers existants.
  • --basic : configuration simple, sans routes ni discovery du package.
  • --devtool : active le support DevTool.
3

Construire et démarrer

workbench:install met en place d’un seul coup le répertoire workbench/, l’autoload-dev et les scripts associés.
Après installation, les scripts suivants sont ajoutés au composer.json.

Définir l’environnement de développement avec testbench.yaml

Le comportement de Workbench se pilote via testbench.yaml à la racine.
testbench.yaml peut contenir des paramètres spécifiques à chaque environnement : il est recommandé de l’ajouter à .gitignore et de ne pas le commiter. À la place, incluez testbench.yaml.example comme modèle dans le dépôt.
Principales options de configuration : Les variables d’environnement se gèrent également dans testbench.yaml.

Structure du répertoire workbench

workbench
app
Models
bootstrap
config
database
factories
migrations
public
storage

Principales fonctionnalités offertes par Workbench

WorkbenchServiceProvider

Créez un service provider dédié à Workbench pour effectuer les enregistrements de démonstration.

Routes et contrôleurs

Vous pouvez placer des routes de vérification dans workbench/routes/web.php ou workbench/routes/api.php.

Migrations et Seeders

workbench/database/migrations et workbench/database/seeders permettent de valider avec une structure de données proche de la production.
Générez des données de test via un Seeder.

Démarrage du service et vérification en CLI

Vous pouvez exécuter des commandes Artisan via vendor/bin/testbench.

Tester avec le trait WithWorkbench

Grâce au trait WithWorkbench, la configuration de testbench.yaml s’applique aussi automatiquement aux tests.

Articulation avec les tests

Il est plus facile de séparer les rôles : Workbench sert d’« application de démonstration et de vérification manuelle », tandis que les tests Testbench prennent en charge la « vérification automatique ».
  • Automatisé : tests/ pour prévenir les régressions.
  • Manuel : workbench/ pour valider écrans, parcours et comportement d’intégration.

Dépannage

Vérifiez la syntaxe de testbench.yaml et la configuration des providers. Une erreur d’indentation YAML est souvent en cause.
Vérifiez le chemin du fichier de routes et l’enregistrement dans WorkbenchServiceProvider. Assurez-vous que discovers.web est bien true dans testbench.yaml.
Vérifiez que le chemin des migrations est correct. Avec SQLite, vérifiez que l’étape de build create-sqlite-db est bien présente.

Pages associées

Tester des packages Laravel avec Orchestra Testbench

Découvrez d’abord comment poser les fondations de tests de package.

Gestion de la compatibilité de versions de package

Passez en revue la table de correspondance Laravel/Testbench et la stratégie de matrice CI.
Dernière modification le 13 juillet 2026