我有一个服务客户端,该客户端返回一堆实例变量。我在另一个方法中调用此方法以返回响应
我希望我的方法像这样返回一个特定的
def returnsAlias
model = ClientGem.find(id) #finds a bunch of instance variables by id
model.alias #returns @alias
end
我认为我有
allow(ClientGem).to receive(:find).and_return('Test Alias')
我不确定用什么代替“测试别名”。我尝试了@alias并使用
@alias.instance_variable_set(:@alias, 'Test Alias')
但这会返回此错误
FrozenError:
can't modify frozen NilClass
答案 0 :(得分:0)
只需将对象本身存根即可。
model = instance_double(ClientGemReturnedKlass, alias: 'Test Alias')
allow(ClientGem).to receive(:find).and_return(model)