Mein Mock funktioniert nur, wenn es in dem vorher gezeigten Block ist. Dies ist nur meine schnelle und schmutzige Darstellung meines Problems. Wahrsten Sinne des Wortes, wenn ich die Linie von dem vor-Block auf die Behauptung does not quack
bewegen, stoppt er spöttisch :(`allow_any_instance_of` Mock funktioniert nicht im Bereich
describe 'Ducks', type: :feature do
before do
...
allow_any_instance_of(Duck).to receive(:quack).and_return('bark!')
visit animal_farm_path
end
context 'is an odd duck'
it 'does not quack' do
expect(Duck.new.quack).to eq('bark!')
end
end
end
Ich will es hier, aber es funktioniert nicht:
describe 'Ducks', type: :feature do
before do
...
visit animal_farm_path
end
context 'is an odd duck'
it 'does not quack' do
allow_any_instance_of(Duck).to receive(:quack).and_return('bark!')
expect(Duck.new.quack).to eq('bark!')
end
end
end
Erhalten Sie irgendwelche Fehler? –
Können Sie nach dem Anruf 'Duck.new.quack' erwarten? –
Nein. Gerade wenn meine 'quack' Methode im oberen Beispiel aufgerufen wird, gibt es' bark! 'Zurück, aber nicht wenn' all_instance_of (Duck) ... 'in den' it' Block verschoben wird. – cdpalmer