Pruebas de navegador y apps mock
Verifica lifecycle y CSP en un navegador y genera proveedores de prueba desde contratos.
Requiere WU CLI 1.2.0 y, para las APIs de las aplicaciones, WU Framework 4.0.0. Comprueba wu --version y las dependencias del proyecto.
Pruebas Node y navegador
wu test
wu test --watch
npm install --save-dev @playwright/test
npx playwright install chromium
wu test --browser --csp strict --trusted-types --json
Sin --browser, wu test ejecuta node --test y transmite los argumentos restantes y su salida. Con --browser cambia al verificador de lifecycle en Chromium: obtiene las apps de la configuración, inicia desarrollo si hace falta y prueba montaje, actualizaciones, ocultación, recuperación y limpieza. El código de salida es 0 si pasa, 1 si falla una comprobación y 2 si no puede preparar la prueba.
| Opción | Uso |
|---|---|
--url <origin> |
Usa un servidor existente. |
--port <port> |
Puerto al iniciar servidor; defecto 3999. |
--only <app> |
Filtra apps por nombre; puede repetirse. |
--cycles <n> |
De 2 a 20; defecto 2. |
--timeout <ms> |
De 1000 a 120000; defecto 30000. |
--csp <mode> |
scripts por defecto, strict o off. |
--trusted-types |
Añade las directivas de Trusted Types. |
--channel <name> |
Canal de Chromium; también WU_BROWSER_CHANNEL. |
--headed, --verbose, --json |
Ventana visible, detalle o informe JSON. |
Generar un proveedor mock
Guarda este descriptor como counter.json en el workspace:
{ "name": "counter", "version": "1.1.0", "methods": {
"double": { "input": { "type": "number" }, "output": { "type": "number" } }
} }
wu mock counter.json --name counter-mock --dir mf-counter-mock --json
wu install
wu dev
wu mock genera una microapp ejecutable, respuestas válidas para los esquemas y su entrada en wu.config.json. Edita src/samples.js para cambiar los datos; la app muestra métodos y llamadas. El nombre predeterminado deriva del servicio con sufijo -mock; --dir elige carpeta. --force permite reemplazar el destino existente, por lo que debes revisar sus cambios antes de usarlo.
La generación termina con 0; contrato, argumentos o proyecto inválidos producen 2. El mock sirve para desarrollar contra el contrato, no implementa la lógica de negocio real. Una suite de lifecycle tampoco sustituye las pruebas funcionales de tus pantallas. Comprueba ambas antes de publicar.