0
我是一個相當新的Ruby,這是我在stackoverflow上的第一個問題,所以請耐心等待我的嘿嘿。在Rspec中使用double作爲對象的實例變量
我正在努力通過使用雙重Rpec測試。
我有一個類的Plane,它的初始化方法@plane_number = plane_number有一個attr_reader:plane_number。 attr_reader:plane_number
Class Plane
def initialize
@plane_number = plane_number
end
end
我使用這個變量在另一個類機場是指一個特定的平面其平面數字符串消息。在我的代碼串的一個例子是:
class Airport
def confirms_landed(plane)
"The plane #{plane.plane_number} has landed"
end
end
我創建了一個測試用雙一個平面實例Rspec的使用let(:平面){雙:平面}
但我不知道如何爲變量plane_number使用double。
describe Airport do
let(:plane) {double :plane}
it "confirms a plane has landed" do
subject.confirms_landed(plane)
expect(subject.confirms_landed(plane)).to eq("The plane #{plane.plane_number} has landed")
end
end
的代碼工作正常,並在它的平面號返回正確的字符串,但因爲我不分配給雙變量plane_number(我得到這個錯誤信息的測試失敗:收到的飛機:雙意外的消息:飛機編號與(無參數))
我相信這是一件很簡單的事情,但我似乎無法找到正確的答案。
'雙:平面,plane_number:10' –