Pular para o conteúdo principal
Versão: 10.4.1

Build e testes

Validation contract

Toda PR/commit deve passar:

dotnet build -c Debug
dotnet build -c Release # gate explícito — Release build é parte do contrato
dotnet test

Backend

dotnet test # tudo
dotnet test --filter "FullyQualifiedName~CreateOrder" # por nome
dotnet test tests/MyService.Integration.Tests # um projeto

Os integration tests usam o IntegrationTestFactory, que herda WebApplicationFactoryBase do DevPack.Testing: troca o AppDbContext por EF Core InMemory, registra autenticação fake como scheme default e expõe CreateClientWithRoles("Admin") / CreateAnonymousClient() — testes simulam autorização por roles sem tokens reais.

Caveat InMemory: o provider não enforça concurrency tokens (RowVersion) — races de concorrência otimista não são exercitadas; use Testcontainers quando isso importar.

Frontend

cd src/MyService.Spa
pnpm test # Vitest + Testing Library + MSW
pnpm build

Mudou o contrato da API? Re-exporte o spec (GET /openapi/v1.json) e rode pnpm gen:api — o spec e o schema.d.ts são commitados (codegen hermético).

Próximo: Rodar.