【发布时间】:2010-08-26 21:32:57
【问题描述】:
我正在尝试在执行将引发异常的 rake 任务后验证是否已将文本写入文件 (build.log)。检查下面的代码 sn-ps,带有 begin 的代码有效,而 lambda 抛出一条消息说它找不到 build.log 文件。
使用开始测试。(有效)
begin
Rake::Task['git:checkout'].invoke //writes "destination already exists" to build.log
rescue
end
IO.read(@project_folder+@build_id+"/build.log").should match(/.*destination.*already.*exists.* /)
尝试使用 lambda 进行测试。 (不工作)
lambda {
Rake::Task['git:checkout'].invoke //writes "destination already exists" to build.log
}
IO.read(@project_folder+@build_id+"/build.log").should match(/.*destination.*already.*exists.* /)
这两者有什么区别?
【问题讨论】: