Для чего используется аргумент, передаваемый в двойной метод RSpec? - PullRequest
0 голосов
/ 22 октября 2018

При создании Test Double в RSpec у меня есть возможность передать строку, которая, кажется, "назовет" double.Мне трудно найти документацию по этому аргументу, лучший результат в Google , кажется, не упоминает об этом.

Я сделал тест, чтобы поиграть с этим и насколькокак я могу сказать, он просто используется для презентаций / печати.Есть ли у него какое-либо применение вне этого?

double example

1 Ответ

0 голосов
/ 22 октября 2018

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

#<Double "A Double"> received unexpected message :foo with (no args)

Если у вас есть несколько двойников, это поможет вам определить, какой из них получил неожиданное сообщение.

В дополнение к заголовку, вы можете заставить свой двойной ответ предопределенным образом реагировать на метод, не используя для настройки что-то вроде allow(double_x).to receive(:foo).and_return('bar'):

let(:double_x) { double("Double X", foo: 'bar') }
# double_x.foo 
# => "bar"

Заголовок является необязательным и его можно оставитьвне.

...