Testes de navegador e apps mock
Verifique lifecycle e CSP no navegador e gere provedores de teste a partir de contratos.
Requer WU CLI 1.2.0 e WU Framework 4.0.0 para as APIs das aplicações. Confira wu --version e as dependências do projeto.
Testes Node e navegador
wu test
wu test --watch
npm install --save-dev @playwright/test
npx playwright install chromium
wu test --browser --csp strict --trusted-types --json
Sem --browser, wu test executa node --test e repassa argumentos restantes e saída. Com --browser, usa a verificação de lifecycle no Chromium: lê apps configuradas, inicia desenvolvimento quando necessário e verifica montagem, atualizações, ocultação, recuperação e limpeza. A saída é 0 para sucesso, 1 para falha de verificação e 2 para falha de preparação.
| Opção | Uso |
|---|---|
--url <origin> |
Usa um servidor existente. |
--port <port> |
Porta ao iniciar servidor; padrão 3999. |
--only <app> |
Filtra apps pelo nome; pode repetir. |
--cycles <n> |
De 2 a 20; padrão 2. |
--timeout <ms> |
De 1000 a 120000; padrão 30000. |
--csp <mode> |
scripts por padrão, strict ou off. |
--trusted-types |
Adiciona diretivas de Trusted Types. |
--channel <name> |
Canal Chromium; também WU_BROWSER_CHANNEL. |
--headed, --verbose, --json |
Janela visível, detalhes ou relatório JSON. |
Gerar um provedor mock
Salve este descritor como counter.json no 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 gera uma microapp executável, respostas válidas pelos schemas e sua entrada em wu.config.json. Edite src/samples.js para mudar os dados; a app mostra métodos e chamadas. O nome padrão deriva do serviço com sufixo -mock; --dir escolhe o diretório. --force permite substituir o destino existente; revise seu conteúdo antes.
A geração termina com 0; contrato, argumentos ou projeto inválidos produzem 2. O mock permite desenvolver contra o contrato, sem implementar a lógica real do negócio. A suite de lifecycle também não substitui testes funcionais das telas. Verifique ambos antes de publicar.