Rails на примерах примеров учебного запроса и Capybara - PullRequest
0 голосов
/ 17 февраля 2011

Майкл Хартл (Michael Hartl) в руководстве по Rails on Rails утверждает, что в ответах делается запрос. Я установил cabybara и бифштекс для создания приемочных тестов. После установки капибары примеры запросов настраиваются на использование капибары. Примеры капибары имеют другой синтаксис и не распознают ответ.
Как сбросить примеры запросов для запуска в качестве примера RSpec?

Ошибка теста:

4) Users signup failure should not make a new user  
    Failure/Error: click_button  
    wrong number of arguments (0 for 1)  
    # ./spec/requests/users_spec.rb:13  
    # ./spec/requests/users_spec.rb:7 

Пример запроса

describe "failure" do  
    it "should not make a new user" do  
        lambda do  
            visit signup_path  
            fill_in "Name", :with => ""  
            fill_in "Email", :with => ""  
            fill_in "Password", :with => ""  
            fill_in "Confirmation", :with => ""  
            click_button  
            response.should render_template('users/new')  
        end.should_not change(User, :count)  
    end
end

Ответы [ 2 ]

0 голосов
/ 24 февраля 2011

Как вы правильно указали в своем ответе, rspec-rails будет include Capybara, если он установлен. Я думаю, они предполагают, что это никогда не повредит include Капибаре, на всякий случай, если вам это нужно. Это проблема для вас? Другими словами, с чем конкретно конфликтует Capybara DSL?

(Это также может быть целесообразно включить в список рассылки RSpec .)

Что касается опубликованной вами ошибки, то, похоже, вы просто упускаете аргумент для метода click_button.

0 голосов
/ 18 февраля 2011

Это может быть связано с rspec-rails request_example_group.rb.

request_example_group.rb

Если строки капибары закомментированы, то в Примерах запроса по умолчанию не указывается капибара.

capybara do
   include Capybara
end

В Приемочные примеры включите капибару.

require File.expand_path(File.dirname(__FILE__) + '/acceptance_helper')

feature "This Is My First Feature", %q{
    In order to ...
    As a ...
    I want to ...
} do

    include Capybara
    scenario "Scenario name" do
        visit signup_path
        fill_in "Name", :with => ""
        fill_in "Email", :with => ""
        fill_in "Password", :with => ""
        fill_in "Confirmation", :with => ""
        click_button "Sign up"
        page.has_content?('welcome to the sample app')
    end
end

Я закончил тем, что разветвлял rspec-rails и комментировал строки капибары. В Gemfile драгоценный камень установлен с вилки.

Зачем беспокоиться? Мы хотим провести тестирование как белого, так и черного ящиков.

...