Мне нужно проверить следующий помощник:
def display_all_courses
@courses = Course.all
output = ""
for course in @courses do
output << content_tag(:li, :id => course.title.gsub(" ", "-").downcase.strip) do
concat content_tag(:h1, course.title)
concat link_to("Edit", edit_course_path(course))
end
end
return output
end
, и мне интересно, есть ли способ, которым я могу проверить вывод этого.По сути, я просто хочу проверить, что помощник получает мне правильное количество элементов li, и, возможно, тот случай, когда нет никаких курсов.
Моя первая мысль - сделать что-то вроде этого:
describe DashboardHelper do
describe display_all_courses do
it "should return an list of all the courses" do
7.times{Factory(:course)
html = helper.display_all_courses
html.should have_selector(:li)
end
end
end
, и это прекрасно работает.Однако, если я добавлю опцию: count к вызову have_selector, который неожиданно завершится неудачей, кто-нибудь может помочь мне понять, почему это так?