Oto mój kontroler:Rcov: Dlaczego ten kod nie jest uważany za objęty ochroną?
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
... pomocnika, który jest oparty na:
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
... a moje testy funkcjonalne (który używa shoulda):
class MyControllerTest < ActionController::TestCase
context "MyController index" do
setup do
get :index
end
should_respond_with :success
end
end
EDYCJA Moja prowizja rcov jest dokładnie taka sama, jak wymieniona w oficjalnym FAQ: eigenclass.org
RCov (0.9.7.1) wymienia każdą linię w kontrolerze do "def index" jako zielony, a każdy wiersz po nim (łącznie z wszystkimi "końcami") jako czerwony/niewykonany. Wiem, że kiedy mój test faktycznie jest wykonywany, pomyślnie wykonuje kod.
Dlaczego RCov daje niezrozumiałe wyniki? Czy jest tu coś, czego mi brakuje?
Jak wygląda twoje zadanie Rcov Rake? Czy to jest domyślne? – BaroqueBobcat