如果借口这是一个愚蠢的问题,我是新来的嘲讽。
我可以用摩卡做的事情,如:
person.expects(:first_name).returns('David')
我怎么能嘲笑一个嵌套的对象吗?
说我有属于一个人的产品,我想那个人的名字。
在我的应用我可以做这样的:
product.person.first_name
我将如何得到使用模拟同样的结果?
如果借口这是一个愚蠢的问题,我是新来的嘲讽。
我可以用摩卡做的事情,如:
person.expects(:first_name).returns('David')
我怎么能嘲笑一个嵌套的对象吗?
说我有属于一个人的产品,我想那个人的名字。
在我的应用我可以做这样的:
product.person.first_name
我将如何得到使用模拟同样的结果?
作为替代shingara的回答,您可以用摩卡的any_instance
法“这将检测调用任何类的实例”。
Person.any_instance.expects(:first_name).returns('david')
它的记录在:
http://mocha.rubyforge.org/classes/Mocha/ClassMethods.html#M000001
你需要之前定义一个模拟(),并返回它,当你打电话的人对产品
person = mock(:first_name => 'david')
product.expects(:person).return(person)
product.person #=> mockObject
product.person.first_name #=> david