Вот мой контроллер:Rcov: Почему этот код не считается закрытым?
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
... помощник, что он основан на:
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
... и мой функциональный тест (который использует Shoulda):
class MyControllerTest < ActionController::TestCase
context "MyController index" do
setup do
get :index
end
should_respond_with :success
end
end
EDIT Мой rcov rake точно такой же, как тот, который указан в официальном FAQ: eigenclass.org
RCov (0.9.7.1) перечисляет каждую строку в контроллере до «def index» как зеленый, и каждую строку после этого (включая все «end») как красные/неисполненные. Я знаю, что когда мой тест на самом деле выполняется, он успешно выполняет код.
Почему RCOV дает неинтуитивные результаты? Здесь что-то не хватает?
Как выглядит ваша задача Rcov Rake? Это значение по умолчанию? – BaroqueBobcat