Почему я получаю ArgumentError при выполнении утверждений RSpec? - PullRequest
0 голосов
/ 30 декабря 2011

Я пытаюсь сделать что-то вроде этого:

describe 'hi' do
  it 'should render the home page' do
    visit '/'
    page.driver.response.status.should eql 200
    page.driver.response.content_type.should eql 'text/html'
    doc = Nokogiri::HTML(page.driver.response.body)
    div = doc.css('div#nav')
    div.length.should_not eql 0
  end
end

Все работает, как и ожидалось, без этой строки:

div.length.should_not eql 0

При наличии этой строки я получаю эту ошибку:

<main>:659:in `method_missing': wrong number of arguments (1 for 2) (ArgumentError)
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/metadata.rb:78:in `flatten'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/metadata.rb:78:in `full_description_for'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/metadata.rb:23:in `[]'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/metadata.rb:51:in `full_description_for'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/metadata.rb:23:in `[]'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/example.rb:13:in `block (2 levels) in delegate_to_metadata'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/formatters/base_text_formatter.rb:164:in `dump_failure'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/formatters/base_text_formatter.rb:19:in `block in dump_failures'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/formatters/base_text_formatter.rb:17:in `each'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/formatters/base_text_formatter.rb:17:in `each_with_index'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/formatters/base_text_formatter.rb:17:in `dump_failures'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/reporter.rb:74:in `block in notify'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/reporter.rb:73:in `each'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/reporter.rb:73:in `notify'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/reporter.rb:23:in `finish'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/reporter.rb:14:in `report'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/command_line.rb:21:in `run'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:80:in `run_in_process'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:69:in `run'
from /Users/Work/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:10:in `block in autorun'

Это действительно странно - div.length - это fixnum.Это кажется довольно простым утверждением, я не понимаю, что я мог сделать неправильно здесь.Кто-нибудь получил какие-либо указатели?

Я использую RSpec 2.7.1, с RSpec-ожидания 2.7.0.У меня есть Ruby 1.9.2p290.

Редактировать: Небольшая заметка - мне требуется RSpec через Capybara.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...