ruby 创建简单的rspec自定义匹配器

Posted

tags:

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

# Define custom matcher
RSpec::Matchers.define :be_hello do
  match do |string|
    string.eql? 'hello'
  end
end

describe Main do
  before { @m = Main.new }
  describe 'respond say' do
    subject { @m }

    it { is_expected.to respond_to(:say) }
  end

  describe 'say hello' do
    subject { @m.say }

    it { is_expected.to eq 'hello' }
    it { is_expected.to_not eq 'Hello' }
    it { is_expected.to_not eq 'brabra' }
    it { is_expected.to be_hello }
    it { expect('brabra').to_not be_hello }
  end
end
class Main
  def say
    'hello'
  end
end

以上是关于ruby 创建简单的rspec自定义匹配器的主要内容,如果未能解决你的问题,请参考以下文章

ruby 扩展RSpec :: Matchers :: BuiltIn :: Match的自定义匹配器也可以指定捕获组。

ruby 代表团的RSpec匹配器

ruby 代表团的RSpec匹配器

ruby 用于匹配accept_nested_attributes_for的RSpec匹配器

ruby 用于匹配accept_nested_attributes_for的RSpec匹配器

ruby 具有期望语法的Rspec Rails备忘单(包括capybara匹配器)