Aquí está mi controlador:Rcov: ¿Por qué este código no se considera cubierto?
class MyController < ApplicationController
include MyHelper
def index
get_list_from_params do |list|
@list = list
respond_to do |format|
format.html
format.xml { render :xml => @list }
format.json { render :json => @list }
end
end
end
end
... el ayudante que está basado en:
module MyHelper
def get_list_from_params(param = :id, &on_success)
raw_id = params[param]
begin
id = Integer(raw_id)
rescue
render :template => "invalid_id", :locals => {:id => raw_id }
else
yield MyList.new(id)
end
end
end
... y mi prueba de funcionamiento (que está utilizando Shoulda):
class MyControllerTest < ActionController::TestCase
context "MyController index" do
setup do
get :index
end
should_respond_with :success
end
end
EDITAR Mi rastrillo de rcov es exactamente el mismo que el que figura en las preguntas frecuentes oficiales: eigenclass.org
RCov (0.9.7.1) enumera cada línea en el controlador hasta "índice def" como verde, y cada línea después de eso (incluyendo todos los "extremos") como rojo/no ejecutado. Sé que cuando se ejecuta realmente mi prueba, ejecuta el código correctamente.
¿Por qué RCov da resultados poco intuitivos? ¿Hay algo que me falta aquí?
¿Cómo es tu tarea de rastrillo rcov? ¿Es el predeterminado? – BaroqueBobcat