Я пытаюсь понять смысл учебника Rails от Hartl's Rails, но на самом деле не понимаю его и то, что он стремится сделать. Мое обоснование:Учебное пособие по Hartl Rail: глава 5, упражнение 3
Это говорит о «full_title помощник», который ссылается на код, который мы помещены в приложение/контроллеры/хелперов/application_helper.rb:
def full_title(page_title = '')
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
base_title
else
"#{page_title} | #{base_title}"
end
end
упражнение является: 1) Включить выше application_helper.rb файл в test_helper, добавив строку "include ApplicationHelper"
в /test/test_helper.rb
2), то мы можем расширить тест/интеграции/site_layout_test.rb с:
get signup_path
assert_select "title", full_title("Sign up")
, который использует метод full_title с «Регистрация» в качестве page_title.
Однако этот тест не будет проверяться, например, для опечаток в base_title в методе full_title.
3) Назначение: Решите это ограничение, создав тестовый помощник «test/helpers/application_helper_test.rb», который проверяет это. Решения Код для тестирования/хелперов/application_helper_test.rb:
require 'test_helper'
class ApplicationHelperTest < ActionView::TestCase
test "full title helper" do
assert_equal full_title, "Ruby on Rails Tutorial Sample App"
assert_equal full_title("Help"), "Help | Ruby on Rails Tutorial Sample App"
end
end
В результате, по крайней мере в моем случае является то, что вышеупомянутое испытание полного названия помощника выполняется только при запуске «пучок теста Exec грабель», а не при запуске " пакетный тест rake test: интеграция ». Но для запуска «теста проверки пакетов» мы уже провели прекрасный рабочий тест, который проверяет каждый заголовок страницы; мы сделали это ранее. То, что я, хотя это упражнение, хотело добиться, чтобы мы также тестировали заголовок страницы при запуске «bundle exec rake test: integration».
Что мне не хватает?