Ecco il mio controller:Rcov: Perché questo codice non è considerato coperto?
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
... l'assistente che si basa su:
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
... e il mio test funzionale (che sta usando Shoulda):
class MyControllerTest < ActionController::TestCase
context "MyController index" do
setup do
get :index
end
should_respond_with :success
end
end
EDIT Il mio rcov rake è esattamente uguale a quello elencato nella FAQ ufficiale: eigenclass.org
RCov (0.9.7.1) elenca ogni riga nel controller fino a "def index" come verde e ogni riga successiva (comprese tutte le "end") come rossa/non eseguita. So che quando il mio test viene effettivamente eseguito, esegue correttamente il codice.
Perché RCov fornisce risultati non intuitivi? C'è qualcosa che mi manca qui?
Che aspetto ha l'attività di rcov Rake? È l'impostazione predefinita? – BaroqueBobcat