sto testando il mio modulo e ho deciso di provarlo contro classe anonima:Stub metodo non implementato in rspec
subject(:klass) { Class.new { include MyModule } }
MyModule
utilizza il metodo name
all'interno klass
. Per far funzionare le mie specifiche ho bisogno di stub questo metodo name
(che non è implementato). Così ho scritto:
subject { klass.new }
allow(subject).to receive(:name).and_return('SOreadytohelp') }
ma solleva:
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>'
come stub questo metodo senza definirlo?
Non so se è la risposta ma si ha un errore di battitura; 'subjet {klass.new}'. Non dovrebbe essere: 'subject {klass.new}' (manca una 'c'). Prova questo e facci sapere! –