水豚检查是否级点击后改变

问题描述 投票:0回答:1

我如何检查CSS类是按钮点击后添加到div?

我有类“BTN-成功”和模态形式的按钮,它在默认情况下不具有“秀”类,但点击按钮后,“秀”类添加到模态。

我的测试:

it 'shows up popup with form' do
  modal_window = page.find('#data-modal')

  expect(modal_window[:class]).not_to include('show')

  page.find('.btn-success').click

  expect(modal_window[:class]).to include('show')
end

我的Gemfile:

group :development, :test do
  gem 'rspec-rails', '~> 3.8'
  gem 'factory_bot_rails'
  gem 'rails-controller-testing'
  gem 'webmock'

  gem 'capybara'
  gem 'selenium-webdriver'
  gem 'rails-controller-testing'
end
capybara rspec-rails
1个回答
0
投票

做的正是你问什么,最简单的解决办法是这样的

it 'shows up popup with form' do
  expect(page).not_to have_css('#data-modal.show')
  page.find('.btn-success').click
  expect(page).to have_css('#data-modal.show')
end

然而,你真的不应该测试特定类别的功能测试的存在。相反,你应该测试,模态实际上出现。由于这是JS驱动的行为这将意味着确保您的测试与JS能够驱动运行,确保您没有设置Capybara.ignore_hidden_elements为false,然后做

it 'shows up popup with form' do
  # Should initially be hidden so won't be found
  expect(page).not_to have_css('#data-modal')
  page.find('.btn-success').click
  # Should now be found
  expect(page).to have_css('#data-modal')
end
© www.soinside.com 2019 - 2024. All rights reserved.