4
我試圖驗證一個文本是否已經寫入文件(build.log)後執行將引發異常的耙子任務。檢出下面的代碼片斷,一個是開始工作,而lambda拋出一條消息,說它找不到build.log文件。lambda和begin塊之間有什麼區別?
使用開始測試。(作品)
begin
Rake::Task['git:checkout'].invoke //writes "destination already exists" to build.log
rescue
end
IO.read(@[email protected]_id+"/build.log").should match(/.*destination.*already.*exists.* /)
試圖測試使用lambda相同。 (不起作用)
lambda {
Rake::Task['git:checkout'].invoke //writes "destination already exists" to build.log
}
IO.read(@[email protected]_id+"/build.log").should match(/.*destination.*already.*exists.* /)
這兩個有什麼區別?
非常感謝。你的回答澄清了我的困惑。 – Muthu 2010-09-01 22:12:11