我正在尝试验证在执行将引发异常的rake任务后是否已将文本写入文件(build.log).检查下面的代码片段,开头的代码片段,而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.* /)
Run Code Online (Sandbox Code Playgroud)
尝试使用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.* /)
Run Code Online (Sandbox Code Playgroud)
这两者有什么区别?