Trilha Pleno Trilha

Testes: banco de dados em memória

O curso parte de uma pergunta: uma suíte de testes Rails deveria rodar contra um banco SQLite em memória? A resposta vem da medição. Uma suíte RSpec de 1.206 exemplos é perfilada, e as idas e voltas ao banco são comparadas com o boot e com os exemplos lentos do sandbox. O curso explica o modo :memory: do SQLite e o cache compartilhado. Depois pesa recursos do PostgreSQL como jsonb, pg_trgm e ILIKE contra o risco de divergência silenciosa. Também trata de testes transacionais, de outras formas de acelerar a suíte e dos projetos onde um banco em memória cabe.

O que você vai aprender

  • ✓Como perfilar uma suíte RSpec com --profile antes de otimizar
  • ✓Como bancos :memory: do SQLite, URIs com cache compartilhado e pools de conexão se relacionam
  • ✓Por que jsonb, pg_trgm, ILIKE e funções de janela fazem testes no SQLite divergirem da produção
  • ✓Como fixtures transacionais e savepoints isolam cada exemplo
  • ✓Ganhos práticos: rodar um arquivo, --only-failures, ordem aleatória, build em vez de create, parallel_tests
  • ✓Quando um banco em memória ou um substituto em memória é a escolha certa
Prévia grátis · Aula 1 4 min de leitura

Para onde o tempo realmente vai

Este curso é sobre um truque conhecido. Rodar a suíte de testes contra um banco SQLite em memória em vez de um banco real, e ver ela ficar mais rápida. O truque é real. Se ele ajuda você é uma pergunta com resposta mensurável, e medir primeiro é a disciplina inteira.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...