Есть ли в rspec что-то более конкретное, чем target.should быть <6? - PullRequest
52 голосов
/ 26 июля 2011

http://cheat.errtheblog.com/s/rspec/ имеет для неравенства (например, меньше или больше)

target.should be < 6

Что-нибудь лучше было создано с тех пор, как была создана шпаргалка?

Ответы [ 3 ]

74 голосов
/ 28 ноября 2013

В новом синтаксисе ожидания RSpec вы бы выразили его как:

expect(target).to be < 6
56 голосов
/ 26 июля 2011

Это все еще принятый способ справиться с этим тестом.На мой взгляд, лучше использовать>, <и == для численных сравнений - это понятнее. </p>

8 голосов
/ 14 сентября 2013

Если вы просто хотите проверить это в переменной типа target, тогда target.should be < 6 - это путь.

Но если вы хотите проверить свойство в другом объекте, например customer.orders, где orders - это набор элементов, то вы можете использовать have (n) .items matcher .

Пример:

customer.should have_at_most(6).orders

Это то же самое ожидание, что и это:

customer.orders.size.should be < 6

Но с более чистым сообщением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...