2010-03-04 3 views
0

Извините, если это глупый вопрос, я новичок в насмешке.мокко и вложенные объекты

Я могу использовать мокко делать такие вещи, как:

person.expects(:first_name).returns('David') 

Как я могу издеваться вложенным объектом?

Скажем, у меня есть Продукт, принадлежащий Лику, и я хочу получить имя этого человека.

В моем приложении я мог бы сделать это следующим образом:

product.person.first_name 

Как бы я получить тот же результат, используя макет?

ответ

0

в качестве альтернативы ответа shingara, вы могли бы использовать any_instance метод мокко в «, который будет определять вызовы к любому экземпляру класс".

Person.any_instance.expects(:first_name).returns('david') 

это документированы:
http://mocha.rubyforge.org/classes/Mocha/ClassMethods.html#M000001

0

вам нужно определить макет() до и вернуть его, когда вы звоните человеку на продукт


person = mock(:first_name => 'david') 
product.expects(:person).return(person) 

product.person #=> mockObject 
product.person.first_name #=> david 
Смежные вопросы