Использование Mocha в Rails для тестирования form_for генерации пути - PullRequest
0 голосов
/ 02 ноября 2010

Используя маршруты ресурсов, вы можете делать такие вещи, как url_for (@apple), чтобы получить URL-адрес для этого конкретного метода «show» ресурсов. Однако при тестировании с использованием Mocha для макетирования моих объектов у меня возникают проблемы при создании подходящего пути к ресурсу.

например. Рассмотрим пример того, как url_for маршруты:

@apple.id # => 4
url_for(@apple) #=> domain.com/apples/4

Это эквивалентно более многословному:

url_for(:controller => 'apples', :id => 4, :method => :show)

Пытаясь проверить свои взгляды, я использую Мокко для макетирования своих объектов.

Apple.stubs(:color => 'red') # returns a MochaExpectation, rather than an instance of Apple.

Итак, в моем тесте:

assigns[:apple] = @apple = Apple.stubs(:color => 'red')
url_for(@apple) #=> raises undefined method `mocha_expectation_path'

Как я могу приблизиться к этому? Похоже, что заглушки должны возвращать Apple

1 Ответ

1 голос
/ 02 декабря 2010

Вы используете Мокко неправильно.

Если вам нужен экземпляр традиционного объекта мокко: -

@apple = stub('apple', :colour => 'red')

Если вы хотите заблокировать определенные методы нареальный объект: -

@apple = Apple.new
@apple.stubs(:colour => 'red')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...