Ruby 摩卡和嵌套对象
如果这是一个愚蠢的问题,请原谅,我对嘲弄还不熟悉 我可以用摩卡咖啡做以下事情:Ruby 摩卡和嵌套对象,ruby,testing,mocking,stubbing,ruby-mocha,Ruby,Testing,Mocking,Stubbing,Ruby Mocha,如果这是一个愚蠢的问题,请原谅,我对嘲弄还不熟悉 我可以用摩卡咖啡做以下事情: person.expects(:first_name).returns('David') 如何模拟嵌套对象 假设我有一个属于某个人的产品,我想知道这个人的名字 在我的应用程序中,我可能会这样做: product.person.first_name 如何使用mock获得相同的结果?您需要在调用产品上的person之前定义mock()并返回它 person = mock(:first_name => 'david'
person.expects(:first_name).returns('David')
如何模拟嵌套对象
假设我有一个属于某个人的产品,我想知道这个人的名字
在我的应用程序中,我可能会这样做:
product.person.first_name
如何使用mock获得相同的结果?您需要在调用产品上的person之前定义mock()并返回它
person = mock(:first_name => 'david')
product.expects(:person).return(person)
product.person #=> mockObject
product.person.first_name #=> david
作为shingara答案的替代方法,您可以使用mocha的
any_instance
方法“它将检测对类的任何实例的调用”
记录在:Person.any_instance.expects(:first_name).returns('david')