ruby rspec system_helper

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby rspec system_helper相关的知识,希望对你有一定的参考价值。

  RSpec::Matchers.define :have_image do |image_name, alt: nil|
    match do |actual|
      result = expect(actual).to have_xpath "//img[contains(@src, '#{image_name}')]"
      result &&= expect(actual).to have_xpath "//img[@alt='#{alt}']" if alt
      result
    end
  end

  RSpec::Matchers.define :have_current_path_with_hash do |expected_path|
    match do |actual|
      uri = URI.parse(actual.current_url)
      expect(uri.path_with_hash).to eq expected_path
    end
  end

  RSpec::Matchers.define :have_current_path_query do |expected_path_query|
    match do |actual|
      actual_path_query = CGI.parse(actual.current_url.sub(/\A.*\?/, ''))
      expect(actual_path_query).to match expected_path_query
    end
  end

  RSpec::Matchers.define :have_toaster do |type: nil, title: nil, message: nil|
    match do |actual|
      css_class = type ? ".toast.toast-#{type}" : '.toast'
      result = expect(actual).to have_css css_class
      result &&= expect(actual.find("#{css_class} > .toast-title")).to have_content title if title
      result &&= expect(actual.find("#{css_class} > .toast-message")).to have_content message if message
      result
    end
  end

以上是关于ruby rspec system_helper的主要内容,如果未能解决你的问题,请参考以下文章

ruby ruby rspec测试示例

ruby Rspec+jenkins+allure持续集成

Rspec 挂在 Ruby 2.7.4 上,没有输出

ruby 为Rspec添加Devise支持

ruby 沉默RSpec规格

ruby 用Rspec测试模型