Como posso acelerar os testes do Ruby on Rails no Windows?

Eu comecei a aprender a usar o Ruby on Rails rodando no Windows 7, e o tempo para executar testes é doloroso. Eu estou querendo saber se eu posso acelerar isso. Agora estou usando o framework de teste padrão (herdando do ActionController), com um database SQLite e o servidor web webrick.

Enquanto os testes unitários e funcionais reportam um tempo de execução de menos de 2 segundos, a partir do momento em que executo os testes da linha de comando até a conclusão, são na verdade 40 segundos.

Um amigo recomendou que eu usasse guarda. Isso parece que vai ajudar a iniciar os testes assim que eu salvar, mas parece que o custo real é iniciar o servidor da Web ou o database. Gostaria de saber se seria melhor configurar o apache ou o mysql e usá-los localmente.

De qualquer forma, que dicas as pessoas têm para acelerar os testes do Ruby on Rails no Windows? Eu tentei executar os testes no Amazon EC2 micro instância Linux (novamente com webrick e sqlite) e houve tempo de boot significativa (embora eu não o tempo).

Eu tentei “rake test –trace”. Houve uma pausa significativa:

  • Imediatamente antes da primeira linha de saída
  • Entre a saída “Execute environment” e “Execute db: abort_if_pending_migrations”
  • Entre “Execute test: units” e “Run options:”

    A primeira pausa parece pior.

Sua melhor aposta é usar spork que agora funciona no Windows. Ele é executado no Windows pré-preenchendo um pool de processos prontos (referido como a estratégia de “revista”). O resultado é que o tempo de boot do servidor é drasticamente reduzido.

Se a execução de rails no Windows for realmente o gargalo, você poderá executar uma máquina virtual usando o VirtualBox e executar uma instância do Ubuntu e trabalhar em seus projetos de rails na VM.