Все, что я пытаюсь сделать, это указать, как должен вести себя метод поддержки одной строки для представления, но я не уверен, какой макет объекта (если есть), я должен создавать, если я работаю в Rails ,Что я делаю неправильно с этим тестовым помощником rspec?
Вот код events_helper.rb:
module EventsHelper
def filter_check_button_path
params[:filter].blank? ? '/images/buttons/bt_search_for_events.gif' : '/images/buttons/bt_refine_this_search.gif'
end
end
И вот мой код спецификации, в events_helper_spec.rb:
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe EventsHelper do
#Delete this example and add some real ones or delete this file
it "should be included in the object returned by #helper" do
included_modules = (class << helper; self; end).send :included_modules
included_modules.should include(EventsHelper)
end
it "should return the 'refine image search' button if a search has been run" do
# mock up params hash
params = {}
params[:filter] = true
# create an instance of the class that should include EventsHelper by default, as the first test has verified (I think)
@event = Event.new
# call method to check output
@event.filter_check_button_path.should be('/images/buttons/bt_search_for_events.gif')
end
end
Когда я просматривал документы здесь - http://rspec.info/rails/writing/views.html, я «Непонятно, откуда приходит объект« шаблон ».
Я также пробовал смотреть здесь, что, как я думал, укажет на меня в правильном направлении, но, увы, нет кубиков. http://jakescruggs.blogspot.com/2007/03/mockingstubbing-partials-and-helper.html
Что я здесь делаю неправильно?
Спасибо,
Chris
Я не думаю, что вы делаете любые испытания во втором примере. Вы просто создаете хэш, называемый параметрами, добавляете значение фильтра: а затем добавляете метод заглушки вашему помощнику. Добавить метод заглушки похож на переопределение исходного поведения метода, но он ничего не тестирует, поэтому вы не получаете никаких ошибок. – tothemario