2010-06-17 28 views
7

Estoy trabajando con un poco de una aplicación de rieles de borde sangrante. Rails 3, RSpec 2, Rspec-Rails2.RCov con RSpec-2

Parece que RSpec2 no incluye la tarea spec: rcov rake que tiene RSpec 1. (al menos no está allí todavía)

¿Alguien ha tenido suerte al ejecutar el rcov con rspec 2, o está escribiendo su propia tarea de rake para que esto funcione?

+0

rspec-rails-2.0.0.rc tiene esta tarea en el archivo rastrillo rspec. – wesgarrison

Respuesta

7

Intente pasar opciones para excluir el directorio gem. O desde sus carriles de rodadura utilizan la bandera rieles:

desc "Run all specs with rcov" 
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t| 
    t.rcov = true 
    t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/,features\/} 
end 
+0

esto es exactamente lo que terminé haciendo. Gracias. – JoshReedSchramm

+3

¿Dónde se supone que debe vivir esto? – Aupajo

+1

@Aupajo: de la respuesta de JoshReedSchramm a continuación donde tuvo una iteración anterior de esta respuesta, la puso en '~/.rvm/rubies // lib/ruby ​​/ gems // gems/rspec-rails-2.XXXXX/lib/rspec/rails/tasks/rspec.task' – wesgarrison

0

ocurrió esta -

1) Abrir ~/.rvm/rubíes // lib/ruby ​​/ gemas gemas ///rspec-carriles-2.XXXXX/lib/rspec/carriles/tareas/rspec .task en tu editor favorito.

2) Añadir esta tarea rastrillo

desc “Run all specs with rcov” 
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t| 
    t.rcov = true 
end 

Uno de los problemas pendientes. ejecuta rspec en cada especificación tanto en mi carpeta de instalación rvm como en el proyecto en el que estoy cuando ejecuto la tarea. No puedo entender cómo excluir todas esas pruebas de instalación rvm. Si alguien tiene una idea, por favor hágamelo saber.

4

Si le sucede a estar en 1,9x Rubí, acabo de recibir CoverMe (un lib rcov-ish que trabaja bajo 1.9) de trabajo. Snappy y funciona fuera de la caja con RSpec, prácticamente una instalación plug-n-play. Simplemente hace silenciosamente tus cosas/cobertura cada vez que ejecutas rake: spec. Pensé que lo mencionaría ya que estoy ejecutando 1.9.2preview3 en mis últimas ediciones y es posible que te encuentres con 1.9 problemas si lo estás usando.

2

Utilizamos simplecov en el trabajo, y nos resulta fácil y efectivo. Considero que es una solución más limpia que modificar la fuente de rspec directamente, especialmente cuando tienes que preocuparte por los servidores de CI.

+1

Hoy (21/8/2012) esta es la respuesta correcta. En el momento en que se planteó esta pregunta, rspec2 era nuevo, simplecov realmente no existía todavía. – JoshReedSchramm

+2

simplecov funciona solo en 1.9. *. Rcov funciona solo en 1.8. *. Realmente no puedes usar simplecov si estás en 1.8 – yiwen

Cuestiones relacionadas