【问题标题】:Basic spec failing with Capybara / RSpec 3 / Rails 4 (have_content)Capybara / RSpec 3 / Rails 4(have_content)的基本规范失败
【发布时间】:2015-01-07 00:25:36
【问题描述】:

我对 RSpec 和 Capybara 比较陌生,我正在制作一个基本的漫画书数据库应用程序来试验它们。由于某种原因,测试失败了(尽管当我手动创建漫画书时,我看到了确认文本)。

这是测试:

require 'spec_helper.rb'

feature 'Creating Comic Books' do
  scenario 'can create a comic book' do
    visit '/'

    click_link 'New Comic book'

    fill_in 'Title', with: 'Batman'
    fill_in 'Publisher', with: 'DC'
    fill_in 'Issue number', with: 32
    fill_in 'Summary', with: 'What a nice comic book'

    expect(page).to have_content("Comic book was successfully created.")
  end
end

这是失败的消息以及回溯:

1) Creating Comic Books can create a comic book
     Failure/Error: expect(page).to have_content("Comic book was successfully created.")
       expected to find text "Comic book was successfully created." in "Toggle navigation Project name Home About Contact New Comic Book Title Publisher Issue number Summary What a nice comic book Back"
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/fail_with.rb:30:in `fail_with'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:37:in `handle_failure'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
     # ./spec/features/creating_comics_spec.rb:14:in `block (2 levels) in <top (required)>'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:222:in `call'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:222:in `call'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-rails-3.1.0/lib/rspec/rails/adapters.rb:72:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:322:in `instance_exec'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:322:in `instance_exec'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:380:in `execute_with'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:446:in `block (2 levels) in run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:222:in `call'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:222:in `call'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:447:in `run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/hooks.rb:500:in `run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:331:in `with_around_example_hooks'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
     # /Users/esteban/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>'
     # /Users/esteban/.rbenv/versions/2.1.5/bin/rspec:23:in `load'
     # /Users/esteban/.rbenv/versions/2.1.5/bin/rspec:23:in `<main>'

我已经尝试同时使用 capybara-webkit 和 selenium,但无论如何我都会收到错误。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 rspec


    【解决方案1】:

    在您的测试中,您还没有点击提交表单的按钮。

    填写表格后可能会是click_button "Create Comic Book"

    【讨论】:

    • 确实没有。我想我很困惑,因为我已经有了click_link 'New Comic book' 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多