2012-05-01 3 views
0

У меня google и прочитайте stackoverflow около 4 часов, но не могу понять, почему тест, аналогичный руководству по рельсам, терпит неудачу.RSpec: should have_selector failed, но заголовок присутствует

Тест очень прост:


# encoding: utf-8 

require 'spec_helper' 

describe "StaticPages" do 
    subject { page } 

    describe "Contacts page" do 
    before { visit contacts_path } 

    it { should have_selector(:title, text: "|") } 
    end 
end

Итак, я добавляю save_and_open_page видеть, что случилось с моей страницы контактов, но это хорошо выглядит. Заголовок тега присутствует и содержит «|».

Не могу понять, что случилось. Я:

  • попробовал получить посещение;
  • ответ вместо страницы;
  • проверить что-то другое навсегда в теле (body.should have_selector (: h1)).

Также я попытался понять, как улучшить выход rspec в более информативный. На теперь я вижу:

Failure/Error: it { should have_selector(:title, text: "|") } 
     expected id :title with text "|" to return something 
+0

На вопрос и ответ на http://stackoverflow.com/questions/5129423/capybara-how-to-test-the-title-of-a-page –

+1

Меня не спрашивают как. Я спросил, почему has_selector не работает. И я обнаружил, что если я использую строку «title» вместо символа: title - мой образец работает отлично. – Kulti

ответ

1

Как я знаю, что have_selector является согласованью Капибары и в соответствии с tutorial в качестве первого аргумента вы можете использовать имя элемента HTML в кавычках или XPATH обозначение, но не символ.

+0

Спасибо, я очищаю его про себя около 4 часов назад :) Но это правильный ответ, и я его отмечаю. – Kulti

Смежные вопросы