2017-02-23 6 views
1

я наткнулся на какой-то ужасной глядя RSpec 2 теста:RSpec 2»be`

something.should be 

Нет, я не случайно забыть вырезать + вставить остальную часть строки, вот оно!

Так в чем же состоит эта семантика? should_not be_nil?

Пожалуйста, звоните, почему это ужасный стиль.

ИМХО это неряшливо, неточно и четко не сообщает, что требуется. (Это вызывает мой рвотный рефлекс;)

ответ

1

Вы правы - согласно документации object.should.be равна object.should_not be_nil

Documentation, Четвертый в этом первом списке.

0

Из docs: «Мы рекомендуем использовать синтаксис expect, если у вас есть конкретные причины вы предпочитаете синтаксис should У нас нет планов когда-либо полностью удалить should синтаксис, но начина . в RSpec 3 предупреждение об устаревании будет выпущено, если вы явно не включите его, и план по умолчанию отключить его в RSpec 4 (и, возможно, переместить его в внешний камень) ».

Я считаю, что эквивалент в новом синтаксисе будет:

expect(something).to be 

или чаще:

expect(something).not_to be_false 
+0

Да, я знаю, что 'ожидать' предполагается использовать для RSpec 3. Я прошу специально для RSpec 2, так как название упоминает :) – Tilo