Instalando SimpleCov na aplicação Rails
Tínhamos criado a home da nossa aplicação, mas ainda não tínhamos o teste. Depois de instalar o RSpec e o Capybara no post retrasado, conseguimos fazer isso no post passado. Agora, todo o código que criamos está 100% coberto por testes!
Será?
Como podemos ter certeza e como podemos acompanhar isso ao longo do desenvolvimento da nossa aplicação?
São perguntas como estas que a gem SimpleCov responde para nós! Se trata de uma ferramenta que coleta os dados de cobertura dos testes de uma aplicação Rails depois compila e apresenta tudo de uma maneira simples. Com o SimpleCov fica muito mais fácil monitorar o quanto do nosso código está coberto - e protegido - por testes!
Vamos lá?
1 - Acrescente a gem 'simplecov' ao seu Gemfile
Vamos colocar ela no bloco :development, :test do Gemfile, junto com as do RSpec e do Capybara.
gem 'simplecov'
2 - Rode o comando 'bundle install'
Essa parte deve estar ficando repetitiva, mas sempre que inserimos uma nova gem numa aplicação Rails, precisamos rodar bundle install depois.
3 - Acrescente a linha do require e do start do SimpleCov ao arquivo spec_helper.rb
No topo, bem no topo, antes de tudo do spec_helper.rb, vamos colocar as seguintes linhas:
require 'simplecov' SimpleCov.start
A primeira linha orienta o Rails e o RSpec sobre o fato de que o SimpleCov deve ser carregado, e a segunda diz para o próprio SimpleCov começar a observar o que vai acontecer.
Eu coloco bem no topo mesmo, antes dos próprios comentários. O começo do meu arquivo fica assim:
Pronto!
É só isso! Agora o nosso projeto nos dará o feedback da cobertura de testes toda vez que rodarmos os testes. Veja só:
vivipoit ~/Projects/sampope (master) > rspec . Finished in 0.13024 seconds (files took 3.25 seconds to load) 1 example, 0 failures Coverage report generated for RSpec to /Users/vivipoit/Projects/sampope/coverage. 67 / 69 LOC (97.1%) covered.
A novidade é a linha que começa com "Coverage report generated blá, blá, blá". Veja que ao final temos uma porcentagem: 97,1%. Isso quer dizer que 97,1% do nosso código foi coberto pelos testes rodados.
Nessa linha também vemos em qual diretório está o relatório de cobertura. Abrimos ele num navegador e clicamos em index.html para ver as informações de forma bem visual e simples de absorver e analisar:
É simples, não é? Com um relatório claro assim, podemos sempre nos certificar de que estamos testando tudo que desenvolvemos!
Dica - Evite comitar os arquivos gerados pelo SimpleCov
O SimpleCov cria estes relatórios e os arquivos dos quais eles dependem num diretório chamado coverage, que acaba sendo monitorado pelo git. Você não precisa comitar nem monitorar estes arquivos no repositório da aplicação. Para que eles não apareçam, acrescente a linha /coverage/* ao arquivo .gitignore.
# .gitignore # Ignore SimpleCov files /coverage/*


Nenhum comentário:
Postar um comentário