2016-08-31 4 views
1

Есть ли вариант сопоставления RSpec start_with, который будет использовать регулярное выражение вместо равенства при анализе массивов строк? (Я не против писать мои собственные, но я не хочу, чтобы заново изобретать колесо.)RSpec starts_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, или мне нужно выбрать другое имя?

+0

Вы, вероятно, нужно написать свой собственный Искатель с другим именем. –

ответ

0

Оказывается, что решение использовать комбинацию слагающего matchers и псевдонимов:

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

 Смежные вопросы

  • Нет связанных вопросов^_^