RSpec starts_with匹配变量使用正则表达式

时间:2016-08-31 16:41:05

标签: ruby regex rspec matcher

是否存在RSpec start_with匹配器的变体,在检查字符串数组时将使用正则表达式匹配而不是相等? (我不介意自己写;但我不想重新发明轮子。)

具体来说,我希望有一个看起来像这样的规范:

it 'begins with the standard header' do
  output = method_under_test
  # output is an array of Strings
  expect(output).to start_with([/foo/, /bar/])
end

如果output[0]匹配/foo/output[1]匹配/bar/,则此规范应该通过。

假设我确实需要编写自己的匹配器,有没有办法超载" start_with,或者我是否需要选择其他名称?

1 个答案:

答案 0 :(得分:1)

事实证明,解决方案是使用组合匹配器和别名的组合:

{{1}}