> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Estratégia de testes

Compreende o que as verificações deterministas, de browser, de base e de fornecedor estabelecem.

## Instalação e configuração

Antes de qualquer etapa, leia [Antes de começar](https://supastack.dev/pt/docs/web/before-you-start.md) e [Noções básicas sobre terminal](https://supastack.dev/pt/docs/web/terminal-basics.md). Estas instruções presumem que você abriu o monorepo supastack completo no VS Code; sua raiz package.json marca a raiz do repositório. Nos comandos pnpm, um pacote de espaço de trabalho é um aplicativo ou uma pasta de código compartilhado; no produto, um espaço de trabalho é o contêiner de dados e o limite de segurança de uma equipe. corepack pnpm --filter ... seleciona um pacote do monorepo enquanto os comandos são executados a partir de sua raiz. Se você abriu apenas uma pasta móvel ou desktop sincronizada, ela não contém o back-end da Web, a configuração do Docker ou os scripts raiz: execute o back-end deste monorepo ou de um servidor hospedado acessível e use os próprios scripts da pasta da plataforma. Uma variável de ambiente é uma configuração nomeada armazenada em um arquivo .env local ou no painel de hospedagem; reinicie o aplicativo relevante após alterá-lo e mantenha os segredos do servidor fora dos valores NEXT_PUBLIC_ e EXPO_PUBLIC_.

1. Abra o repositório-root package.json para ver os comandos de verificação.

2. A partir dessa pasta raiz, execute corepack pnpm test para testes de unidade automatizados e, em seguida, corepack pnpm --filter @supastack/web typecheck para verificações Web TypeScript.

3. Para o comportamento do navegador, inicie o aplicativo Web e execute corepack pnpm test:e2e. Esperado: cada comando reporta seu próprio resultado; um teste de unidade não prova que um banco de dados, provedor de pagamento, serviço de e-mail ou telefone real funcione.

A suíte de testes predefinida usa adaptadores fake/locais deterministas. Os testes de browser cobrem interações de utilizador; a aceitação de base e o smoke de fornecedor externo são portas separadas. Corre as verificações relevantes ao comportamento alterado antes de alargar o âmbito.

```
corepack pnpm test
corepack pnpm check
corepack pnpm build
corepack pnpm test:e2e
corepack pnpm test:e2e:production
```


## Comandos para copiar

Siga os comentários para ver em qual pasta um comando é executado. Se dois terminais estiverem rotulados, abra duas janelas de terminal e mantenha o primeiro comando em execução enquanto usa o segundo.

```
corepack pnpm test
corepack pnpm --filter @supastack/web typecheck
corepack pnpm test:e2e
```


## Fluxo de implementação

Para alterações de comportamento, escreve primeiro um teste de aceitação que falhe. Emparelha acesso bem-sucedido com pedidos anónimos e entre workspaces rejeitados. Para formulários e fluxos de tarefas, verifica carregamento, erro e recuperação para além do caminho feliz.

Uma resposta de browser interceptada prova que a interface responde a esse fixture. Não prova persistência de auth, processamento de pagamento, entrega de fornecedor ou um callback de dispositivo físico.


## Verificação e resolução de problemas

Se um teste de banco de dados indicar que foi ignorado, configure seu banco de dados de teste isolado antes de relatar a cobertura do banco de dados. Se uma guia da Web estiver na porta 3001, será o servidor apps/docs separado; o aplicativo da Web do kit inicia na porta 3000. Se o Playwright falhar na primeira execução do Windows, deixe a instalação do navegador terminar e execute novamente o comando com falha; nunca desligue a segurança de todo o sistema para contornar isso.

Se um teste condicionado pela base for ignorado, configura a sua base de teste isolada antes de afirmar que essa porta passou. Se um runner de browser emitir assertions que passam mas bloquear no teardown, reporta ambos os factos; um processo bloqueado não é um comando bem-sucedido limpo.

No Windows, a execução inicial do navegador pode expirar enquanto o Defender verifica os navegadores ou dependências do Playwright recém-instalados. Deixe a instalação terminar, execute novamente o conjunto com falha com corepack pnpm test:e2e ou corepack pnpm test:e2e:production e inspecione seu rastreamento e histórico de proteção do Defender se falhar novamente. Deixe a proteção de todo o sistema ativada.

O conjunto de navegadores locais possui a porta 3100 e se recusa a reutilizar um processo que já está escutando lá. Defina PLAYWRIGHT_PORT para uma porta livre antes do corepack pnpm test:e2e se outro aplicativo possuir 3100; isso evita que os testes direcionem silenciosamente outro projeto.


## Seguinte

[Checklist de deployment](https://supastack.dev/pt/docs/web/deployment.md)
