不好意思,如果這是一個愚蠢的問題,我是新的嘲笑。摩卡和嵌套對象
我可以用摩卡做的事情,如:
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