Skip to main content

Qué es Testbench Workbench

Orchestra Testbench está pensado para tests, pero combinándolo con Workbench puedes crear una pequeña aplicación Laravel dentro del propio repositorio del paquete y ejecutarla en local. Se usa para complementar los tests que creaste en package-testing cuando quieres validar la UI, la respuesta de las rutas o hacer verificaciones con seeders.

Configuración

1

Instala Testbench

2

Crea el Workbench

Este comando realiza a la vez lo siguiente:
  • Crea la estructura del directorio workbench/.
  • Añade el namespace de Workbench a autoload-dev en composer.json.
  • Añade comandos de build a scripts en composer.json.
Opciones adicionales:
  • --force: sobrescribe archivos existentes.
  • --basic: composición simple sin la configuración de rutas ni package discovery.
  • --devtool: habilita el soporte de DevTool.
3

Compila y arranca

workbench:install prepara de una vez el directorio workbench/, autoload-dev y los scripts relacionados.
Tras la instalación, se añaden los siguientes scripts en composer.json.

Definir el entorno de desarrollo con testbench.yaml

El comportamiento del Workbench se gestiona en el testbench.yaml de la raíz.
testbench.yaml puede contener configuración específica del entorno, así que se recomienda añadirlo a .gitignore y no incluirlo en los commits. En su lugar, deja en el repositorio un testbench.yaml.example a modo de plantilla.
Opciones principales: También puedes gestionar variables de entorno en testbench.yaml.

Estructura del directorio workbench

workbench
app
Models
bootstrap
config
database
factories
migrations
public
storage

Funcionalidades principales de Workbench

WorkbenchServiceProvider

Crea un service provider dedicado a Workbench para registrar componentes de demo.

Rutas y controladores

En workbench/routes/web.php o workbench/routes/api.php puedes colocar rutas de verificación.

Migraciones y seeders

Usa workbench/database/migrations y workbench/database/seeders para validar con una estructura de datos cercana a la real.
Genera datos de prueba con un Seeder.

Arranque del servicio y verificación por CLI

Puedes ejecutar comandos Artisan a través de vendor/bin/testbench.

Tests con el trait WithWorkbench

Con el trait WithWorkbench, la configuración de testbench.yaml se aplica también a los tests automatizados.

Coordinación con los tests

Reparte responsabilidades entre Workbench como «app de verificación manual y demo» y los tests de Testbench como «verificación automática».
  • Automatización: previene regresiones en tests/.
  • Verificación manual: valida pantalla, navegación y comportamiento integrado en workbench/.

Solución de problemas

Revisa la sintaxis y la configuración de providers en testbench.yaml. Un error de indentación de YAML puede ser la causa.
Comprueba la ruta del archivo y su registro en el WorkbenchServiceProvider. Verifica también que discovers.web esté en true en testbench.yaml.
Comprueba que las rutas de las migraciones son correctas. Si usas SQLite, asegúrate de incluir el paso create-sqlite-db en el build.

Páginas relacionadas

Probar paquetes Laravel con Orchestra Testbench

Aprende primero cómo montar la base de pruebas de tu paquete.

Gestión de la compatibilidad de versiones de paquetes

Consulta la tabla de compatibilidad Laravel/Testbench y la operativa de la matriz de CI.
Última modificación el 13 de julio de 2026