2012-03-29 5 views
0

Я закомментирована [получить «страницу/дом»] в моем routes.rb файла, перезапустить всю свою тестовую среду и следующее испытание STILL проходит:несовместимого Rspec/Капибара тестов

it "should contain 'This is a test'" do 
    get 'home' 
    response.body.should have_selector("p") 
end 

Из моего понимания, capybara запускает тесты rspec из «браузера» в памяти. Если это так, маршруты маршрутов ДОЛЖНЫ существовать! После комментирования моих маршрутов он все еще может загружать страницы - я знаю это, потому что, если я удалю селектор <p>, тест завершится с ошибкой. После изменения файла routes.rb я перезапустил свой набор тестов, но это не имеет никакого значения.

Это заставляет меня потерять доверие к процессу тестирования, потому что у меня проходят тесты, которые не должны проходить !!

+0

Показать полную версию '_spec.rb'. Возможно, у вас есть 'before (: each)' с 'get 'home'' где-то. –

ответ

1

Похоже, что этот фрагмент находится в спецификации контроллера, которая напрямую попадает на ваш контроллер. В последней версии rspec, 2.9.0, плохой маршрут не приведет к тому, что этот пример завершится неудачей. Маршруты находятся вне компетенции спецификации контроллера.

Похоже, вы хотели, чтобы написать запрос спецификации, который должен использовать метод visit водосвинку в:

# spec/requests/something_spec.rb 
require 'spec_helper' 

describe 'home page' do 

    it "should contain 'This is a test'" do 
    visit '/pages/home' 
    page.should have_content 'This is a test' 
    end 

end 

ВИДЕТЬ capybara docs для большего количества примеров. Rspec также поддерживает routing specs, но я обычно использую только те, для необычной маршрутизации.

+0

Очень интересно. Итак, все время, когда я делаю [получить «дом»] внутри блока «it», это даже не поражает Capybara? Я думал, что [получить «что-то»] называется Capybara, но, по-видимому, это просто Rspec. Это верно? И да, это контрольный тест. – dingalingchickenwiing

+0

Да, capybara добавляет 'посещение',' click_on', 'fill_in' и т. Д. Взгляните на документы capybara, связанные выше для многих примеров. –

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