我正在开发一个 Ruby 应用程序,它需要具有特定的目录结构才能正常工作。为了确保是这种情况,我创建了一些用于测试的临时目录(rspec)。我正在尝试保存当前目录,并在测试完成后恢复它,但看起来Dir.pwd()
返回 nil。是否可以没有当前目录?这在任何地方都没有记录...
代码:
before :each do
# make a directory to work in
@olddir = Dir.pwd() #=> returns nil???
@dir = Dir.mktmpdir('jekyll')
end
after :each do
Dir.chdir(@olddir) #=> this fails
FileUtils.rm_rf(@dir)
end
it "should not blow up" do
1.should == 1
end
如果我将其更改为此它可以正常工作,但是无缘无故更改到主目录似乎是一种不好的形式:
before :each do
@dir = Dir.mktmpdir('jekyll')
end
after :each do
Dir.chdir() #=> works, but feels wrong
FileUtils.rm_rf(@dir)
end
it "should not blow up" do
1.should == 1
end