水豚模糊错误

时间:2013-09-02 19:25:10

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我的应用程序基于Rails 3,它已经设计用户身份验证我遇到了这个错误。怎么可以解决这个错误?

bin/cucumber features/signing_up.feature
Rack::File headers parameter replaces cache_control after Rack 1.5.
Using the default profile...
Feature: Signing up
  In order to be attributed for my work
  As a user
  I want to be able to sign up

  Scenario: Signing up                                                 # features/signing_up.feature:6
    Given I am on the homepage                                         # features/step_definitions/web_steps.rb:44
    When I follow "Sign up"                                            # features/step_definitions/web_steps.rb:56
      Ambiguous match, found 2 elements matching link "Sign up" (Capybara::Ambiguous)
      ./features/step_definitions/web_steps.rb:57:in `/^(?:|I )follow "([^"]*)"$/'
      features/signing_up.feature:8:in `When I follow "Sign up"'
    And I fill in "Email" with "user@ticketee.com"                     # features/step_definitions/web_steps.rb:60
    And I fill in "Password" with "password"                           # features/step_definitions/web_steps.rb:60
    And I fill in "Password confirmation" with "password"              # features/step_definitions/web_steps.rb:60
    And I press "Sign up"                                              # features/step_definitions/web_steps.rb:52
    Then I should see "You have signed up successfully."               # features/step_definitions/web_steps.rb:105
    Then I should see "Please confirm your account before signing in." # features/step_definitions/web_steps.rb:105

Failing Scenarios:
cucumber features/signing_up.feature:6 # Scenario: Signing up

1 scenario (1 failed)
8 steps (1 failed, 6 skipped, 1 passed)
0m0.272s

步骤定义:57

When /^(?:|I )follow "([^"]*)"$/ do |link|
  click_link(link)
end

的routes.rb

Ticketee::Application.routes.draw do

  devise_for :users, :controllers => { :registrations => "registrations" }
  get '/awaiting_confirmation', :to => "users#confirmation", :as => 'confirm_user'

  resources :projects do
    resources :tickets
  end
  root :to => "projects#index"

  namespace :admin do
    root :to => "base#index"
    resources :users
  end

这是来自书中的routes.rb,在书中测试正在通过,但没有和我一起传递

1 个答案:

答案 0 :(得分:0)

如果链接属于类或ID之类的其他样式,则可以使用:

within(<whatever class or id>) do
  click_link(link)
end

或者强制它点击第一个链接,您可以使用first(:link, link).click。 如果您使用此方法,则需要all(link)[1].click之类的内容才能点击“注册”按钮。