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 enpackage-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
- Crea la estructura del directorio
workbench/. - Añade el namespace de Workbench a
autoload-devencomposer.json. - Añade comandos de build a
scriptsencomposer.json.
3
Compila y arranca
workbench:install prepara de una vez el directorio workbench/, autoload-dev y los scripts relacionados.composer.json.
Definir el entorno de desarrollo con testbench.yaml
El comportamiento del Workbench se gestiona en eltestbench.yaml de la raíz.
También puedes gestionar variables de entorno en
testbench.yaml.
Estructura del directorio workbench
workbench
app
Http
Models
Providers
bootstrap
config
database
factories
migrations
seeders
public
resources
routes
storage
Funcionalidades principales de Workbench
WorkbenchServiceProvider
Crea un service provider dedicado a Workbench para registrar componentes de demo.Rutas y controladores
Enworkbench/routes/web.php o workbench/routes/api.php puedes colocar rutas de verificación.
Migraciones y seeders
Usaworkbench/database/migrations y workbench/database/seeders para validar con una estructura de datos cercana a la real.
Arranque del servicio y verificación por CLI
Puedes ejecutar comandos Artisan a través devendor/bin/testbench.
Tests con el trait WithWorkbench
Con el traitWithWorkbench, 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
El Workbench no compila
El Workbench no compila
Revisa la sintaxis y la configuración de providers en
testbench.yaml. Un error de indentación de YAML puede ser la causa.No se cargan las rutas
No se cargan las rutas
Comprueba la ruta del archivo y su registro en el WorkbenchServiceProvider. Verifica también que
discovers.web esté en true en testbench.yaml.Aparecen errores de base de datos
Aparecen errores de base de datos
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.