【问题标题】:capybara and RSpec: ajax response not workingcapybara 和 RSpec:ajax 响应不起作用
【发布时间】:2016-08-08 12:58:55
【问题描述】:

我正在使用(RSpecCapybara)编写测试用例。

capybara (2.7.1) and 
rspec (3.4.0)
rspec-core (3.4.4)
rspec-expectations (3.4.0)
rspec-mocks (3.4.1)
rspec-rails (3.4.2)
rspec-support (3.4.1)

有很多答案可用,但没有运气!!!。这些是我找到的结果:123

水豚.rb

Capybara.asset_host = 'http://localhost:3000'
Capybara.default_max_wait_time = 5

session_helpers.rb

module Features
  module SessionHelpers
    def sign_up_with(email, password, confirmation)
      visit new_user_registration_path
      fill_in 'Email', with: email
      fill_in 'Password', with: password
      fill_in 'Password confirmation', :with => confirmation
      click_button 'Sign up'
    end

    def signin(email, password)
      visit root_url
      find(:xpath, "//a[@class='login_box_btn']").click
      fill_in 'login_user_email',    with: email
      fill_in 'login_user_password', with: password
      click_button "LOGIN"
    end
  end
end

功能/用户/sign_in_spec.rb

feature 'Sign-In and Sign-Out', :devise do  scenario 'user cannot sign in if not registered' do
    signin('test@example.com', 'please123')
    expect(page.find(:xpath, "//div[@id='login_message']")).to  have_content("Email not found. Please provide a valid email.")
end

期待

find(:xpath, "//div[@id='login_message']") => ""

但不能为空。

因为我正在关注 RailsApps/rails-devise 以完成所有配置,所以所有配置都根据这个 repo。

如果有人需要更多信息,请发表评论。

【问题讨论】:

    标签: ruby-on-rails ajax rspec devise


    【解决方案1】:

    尝试将js: true 添加到场景中,例如:

     scenario 'user cannot sign in if not registered', js: true do
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多