SimpleCov e Cucumber

SimpleCov é um ótimo criador de perfil de cobertura de Ruby para Ruby 1.9. Mas você nem sempre deseja que ele seja executado em todos os testes. (Isso retarda meu conjunto de testes em quase 20%.)

Os documentos oficiais sugerem a ativação condicional do SimpleCov assim:

SimpleCov.start if ENV["COVERAGE"]

e executando assim:

COVERAGE=true rake test

Se você acha que é inteligente, convém renomear essa variável para ENV['SIMPLECOV']. O problema é que as pessoas que escreveram a joia do pepino também são muito inteligentes:

if ENV['SIMPLECOV']
require 'simplecov'

SimpleCov.start do
...
end
end

Portanto, se você nomear sua variável de ambiente SimpleCov como ENV['SIMPLECOV']e depois executar os testes Cucumber, a gema Cucumber sequestrará sua configuração SimpleCov e comerá seu almoço.

Se você ainda for muito inteligente para usar ENV['COVERAGE']em seu aplicativo, tente ENV['SIMPLE_COV'].