I am very confused and appreciate there is a lot on here about this particular error, but I've had a look and can't see anything similar so here goes:
I have two simple classes:
class Bicycle
def initialize(vehicle_mover: )
@vehicle_mover = vehicle_mover
end
def move
vehicle_mover.move_bicycle
end
private
attr_reader :vehicle_mover
end
and
class Car
def initialize(vehicle_mover: )
@vehicle_mover = vehicle_mover
end
def move
vehicle_mover.move_car
end
private
attr_reader :vehicle_mover
end
Then I have two simple specs for them:
require 'bicycle'
describe Bicycle do
subject(:bicycle) { described_class.new(vehicle_mover: vehicle_mover) }
let(:vehicle_mover) { double(:vehicle_mover, move_bicycle: 2) }
describe '#move' do
it 'returns 2' do
expect(bicycle.move).to eq(2)
end
end
end
and
require 'car'
describe Car do
subject(:car) { described_class.new(vehicle_mover: vehicle_mover) }
let(:vehicle_mover) { double(:vehicle_mover, move_car: 6) }
describe '#move' do
it 'returns 6' do
expect(car.move).to eq(6)
end
end
end
Both doing pretty much the same thing (I know this isn't DRY, and I welcome suggestions to improve it).
Bicycle's test passes.
Car's test returns:
undefined method `move_car' for nil:NilClass
What am I missing here?
Aucun commentaire:
Enregistrer un commentaire