Trilha Júnior Trilha

Testes: testes em paralelo

A suíte de specs deste app tem 205 arquivos e 1.219 exemplos. Ela roda num processo só, em cerca de 1 minuto e 19 segundos. O curso analisa se rodá-la em paralelo ajudaria. Primeiro vem o ActiveSupport::TestCase.parallelize do Minitest e o motivo de ele não ter o que rodar aqui. Depois vem a gem separada parallel_tests para o RSpec e o jeito como ela agrupa arquivos por tamanho ou tempo. Seguem a convenção de banco TEST_ENV_NUMBER, uma análise de custos e um pequeno desafio de balanceamento em Ruby puro.

O que você vai aprender

  • ✓Como o parallelize do Minitest funciona com processos, threads e o limite de 50 testes
  • ✓Por que o rspec-core não tem executor paralelo e o que a gem parallel_tests traz
  • ✓Como a parallel_tests agrupa arquivos de spec inteiros por filesize ou runtime
  • ✓A convenção TEST_ENV_NUMBER para um banco de teste por processo
  • ✓Como comparar custos fixos, como carregamento de arquivos e preparação de bancos, com o tempo economizado
Prévia grátis · Aula 1 3 min de leitura

A suíte de specs deste app, cronometrada, roda num processo só

Essa é a suíte de specs deste app, rodada para este curso: 205 arquivos de spec e 1.219 exemplos. O RSpec mostra 1 minuto e 19,03 segundos de execução. Carregar os arquivos antes, com require de cada spec, factory e arquivo de suporte antes de qualquer exemplo rodar, levou mais 2,87 segundos. Todo…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...