У меня есть следующий тест:Получение assert_select, чтобы показать мне, что на самом деле был элемент
test "users title when logged out" do
get users_path
assert_select "title", 'Correct title"
end
Если мы предположим, что users_path возвращает страницу с <title>Wrong title</title>
, то я получаю следующий результат:
FAIL["test_users_title_when_logged_out", SiteLayoutTest, 1.0830602300120518]
test_users_title_when_logged_out#SiteLayoutTest (1.08s)
Expected at least 1 element matching "title", found 0..
Expected 0 to be >= 1.
test/integration/site_layout_test.rb:37:in `block in <class:SiteLayoutTest>'
Я хотел бы заменить assert_select на что-то вроде assert_equal "Correct title", page.title
, так что на самом деле сообщение об ошибке тестирования показывает мне, что заголовок страницы, что значительно облегчило бы трассировку проблемы! (Естественно, на странице отображается правильный заголовок в режиме разработки ...)
Однако, page.title, похоже, недоступен, и мои усилия по поиску только открывают такие вещи, как «вы можете сделать это с Capybara», который для этой цели является немного громоздким!
Есть ли способ написать этот тест, чтобы вместо этого он отображал что-то вроде Expected page title to be "Correct title" but got "Wrong title"
? [Редактировать для наглядности: «Неверный заголовок» - это название на возвращенной странице, а не буквальная строка, то есть мне нужна ошибка, чтобы сообщить мне, что было на самом деле возвращено.]
Пробовали ли вы 'assert_select «title», «Правильное название», «Предполагаемое название страницы должно быть« Правильное название », но получило« Неверный заголовок »?? –
Не знаете, как это помогает, если я помещаю« Неверный заголовок »в качестве строки? I хотите, чтобы он отображал фактическое название, которое находится на странице, которая возвращает 'user_path' ... –
Это помогает, когда вы хотите постоянно видеть сообщение об ошибке. теперь, чего вы пытаетесь достичь. Вы ищете Rspec как выход, но я понятия не имею в мини-классе. Но похоже, что вам нужно запланировать обезьяну, чтобы переопределить значение по умолчанию. –