Какой стиль, lambda..hould или ожидать?, Предпочтителен для тестирования ожиданий в RSpec?

Я видел, что оба стиля широко используются: # 1 lambda { raise "Boom" }.should raise_error и # 2 expect { raise "Boom" }.to raise_error. Мне нравится ожидать больше, поскольку он читает лучше и скрывает создание proc.

Я посмотрел на код rspec, и, похоже, ожидается, что... предложил, однако я регулярно встречаюсь с библиотеками, использующими lambda..should. Ожидает... более нового и, следовательно, еще не "знаменитого"?

Ответ 1

expect используется, поскольку rspec-2, ранее lambda должен был использоваться.

RSpec "официально" рекомендует использовать expect, и вполне возможно, что они решат "устаревший" лямбда-синтаксис.

Синтаксис лямбда используется в большинстве библиотек, которые начали работать в RSpec1 дней. Они просто еще не мигрировали (и почему бы им, если они все еще поддерживаются).

Итак, используйте expect вместо lambda.