如何在 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)
我有一个服务客户端,我称之为 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)