不好意思,如果这是一个愚蠢的问题,我是新的嘲笑。摩卡和嵌套对象
我可以用摩卡做的事情,如:
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