Я пытаюсь проверить, был ли текст записан в файл (build.log) после выполнения команды rake, которая выдает исключение. Осмотрите оба фрагмента кода ниже, тот, который начинается с работы, тогда как lambda выбрасывает сообщение о том, что он не может найти файл build.log.В чем разница между лямбдой и началом блока?
Использование начинают тестировать. (Работы)
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 {
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