Hier ist mein Controller:Rcov: Warum wird dieser Code nicht als abgedeckt betrachtet?
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
... die Helfer, die es auf basiert:
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
... und mein Funktionstest (die Shoulda verwendet):
class MyControllerTest < ActionController::TestCase
context "MyController index" do
setup do
get :index
end
should_respond_with :success
end
end
EDIT Mein rcov Rake ist genau das selbe wie das, das in der offiziellen FAQ aufgeführt ist: eigenclass.org
RCov (0.9.7.1) listet jede Zeile in der Steuerung bis "def index" als grün auf und jede Zeile danach (einschließlich aller "ends") als rot/nicht ausgeführt. Ich weiß, dass, wenn mein Test tatsächlich ausgeführt wird, der Code erfolgreich ausgeführt wird.
Warum gibt RCov nicht intuitive Ergebnisse? Gibt es etwas, das mir hier fehlt?
Wie sieht Ihre rcov Rake-Aufgabe aus? Ist es der Standard? – BaroqueBobcat