Как я могу смоделировать переменную экземпляра, возвращенную из клиента в rspec - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть сервисный клиент, который я вызываю и который возвращает кучу переменных экземпляра. Я вызываю это в методе, который вызывается внутри другого метода, чтобы вернуть ответ

Я хочу, чтобы мой метод возвращал определенный, например,

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

1 Ответ

0 голосов
/ 14 ноября 2018

Просто заглушите сам объект.

model = instance_double(ClientGemReturnedKlass, alias: 'Test Alias')
allow(ClientGem).to receive(:find).and_return(model)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...