다음은 RSPEC의 테스트입니다. 그것은 실패하고 나는 이유를 이해할 수 없다! 나는 그것이 그것의 용량까지 자전거와 함께 밴으로 가득 차기를 얻으려고 노력하고있다. 그러나 모든 다른 자전거를 역에 맡긴다. 그러나 그것은 현재 각각 하나씩을 제외한 모든 자전거를 삭제합니다. van.rb에서RSPEC 테스트가 실패했습니다. 어떤 아이디어?
let(:van) { Van.new }
let(:bike) { double :bike, broken?: false }
let(:broken_bike) { double :broken_bike, broken?: true }
let(:station) { double :station }
it 'can be filled with broken bikes' do
station = double :station, { release_x_broken_bikes: broken_bike }
expect(station).to receive(release_x_broken_bikes: broken_bike)
van.fill_with_broken_bikes_from station
expect(van.bike_count).to eq > 2
end
관련 코드 : station.rb에서
def initialize bikes = [], capacity = 10
@bikes = bikes
@capacity = capacity
end
def bike_count
@bikes.count
end
def fill_with_broken_bikes_from station
@bikes = station.release_x_broken_bikes(slots_available)
end
def slots_available
@capacity - bike_count
end
코드 : 귀하의 사양에
def broken_bikes
@bikes.select { |bike| bike.broken? }
end
def release_broken_bike
@bikes.delete(broken_bikes.first)
end
def release_x_broken_bikes(x)
broken_bikes[0,x].map{ release_broken_bike}
end
오류를 게시 할 수 있습니까? – Nikola
'x.to eq> 2'가 올바른 방법인가요? – tadman
실패 : 1) 반 깨진 자전거 장애/오류로 채워질 수 : 더블 van.fill_with_broken_bikes_from 역 : 역 예기치 않은 메시지를 받았습니다 : (10) #의 ./lib/van.rb:29:in'와 release_x_broken_bikes 0.00995 초 12 예, 거의 확실 1 개 실패 – JamesJY