Я проверяю мой модуль, и я решил проверить это против анонимного класса:Заглушки невыполненного метод RSpec
subject(:klass) { Class.new { include MyModule } }
MyModule
использует метод name
внутри klass
. Чтобы мои спецификации работали, мне нужно заглушить этот метод name
(что не реализовано). Так что я написал:
subject { klass.new }
allow(subject).to receive(:name).and_return('SOreadytohelp') }
, но она поднимает:
RSpec::Mocks::MockExpectationError: #<#<Class:0x007feb67a17750>:0x007feb67c7adf8> does not implement: name
from spec-support-3.3.0/lib/rspec/support.rb:86:in `block in <module:Support>'
как окурок этот метод, не определяя его?
Я не знаю, если это ответ, но у вас есть опечатка; 'subjet {klass.new}'. Не должно быть: 'subject {klass.new}' (отсутствует 'c'). Попробуйте это и сообщите нам! –