如何在 rspec 中模拟从客户端返回的实例变量

How can I mock an instance variable returned from a Client in rspec

我有一个服务客户端,我称之为 return 一堆实例变量。我在一个方法中调用它,该方法在另一个方法中调用,以 return 响应

我希望我的方法return像这样的特定方法

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')

我不确定用什么替换 'Test Alias'。我试过 @alias 并使用

@alias.instance_variable_set(:@alias, 'Test Alias')

但是这个return这个错误

FrozenError:
   can't modify frozen NilClass

简单地删除对象本身。

model = instance_double(ClientGemReturnedKlass, alias: 'Test Alias')
allow(ClientGem).to receive(:find).and_return(model)