Как указать ожидаемые возвращаемые значения? - PullRequest
0 голосов
/ 09 января 2011

Я новичок в RSpec, и когда я писал тест спецификации, я столкнулся с проблемой, когда тесты спецификации проходят, хотя возвращаемые значения отличаются от того, что я указал в своих ожиданиях.Например:

  @q= Query.new
  @q.should_receive(:number_to_name).with(0).and_return("no such boro") 
  @q.number_to_name(0) 

Это проходит, хотя Query.number_to_name возвращает другое значение, когда я вызываю его с 0. Я не понимаю, что с этим делать.

1 Ответ

0 голосов
/ 09 января 2011

should_receive является частью инструментов насмешки rspec.

@q.should_receive(:number_to_name).with(0).and_return("no such boro")

Вы издеваетесь number_to_name над @q, устанавливая ожидание, что number_to_name будет вызываться с аргументом 0и что макет вернется "no such boro".Выполнение @q.number_to_name(0) затем удовлетворяет это ожидание, вызывая макет.Ваша реализация number_to_name никогда не вызывалась и не тестируется.

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