2010-11-16 2 views
13

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

Я посмотрел код rspec и, кажется, ожидает. suggested, однако я регулярно сталкиваюсь с библиотеками, использующими лямбда. Ожидается ... новее и, следовательно, еще не «знаменито»?

ответ

14

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

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

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

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