为什么这会引发一个"而不是一个目录"错误?

时间:2013-08-02 22:22:17

标签: ruby cucumber aruba

这是来自Aruba Cucumber api用于测试CLI。我一直收到一个错误,dotfiles不是一个目录。它是一个目录,但无法弄清楚错误发生的原因。

来自aruba api:

def current_dir
  File.join(*dirs)
end

def dirs
  @dirs ||= ['tmp', 'aruba']
end

def cd(dir)
  dirs << dir
  raise "#{current_dir} is not a directory." unless File.directory?(current_dir)
end

因此,运行Dir.entries(ENV['HOME'])包含目录dotfiles。我知道它就在那里。

 "Applications",
 "clone",
 "Desktop",
 "Documents",
 "dotfiles",
 etc...

现在使用aruba api的上述方法

[6] pry(main)> Dir.pwd
=> "/Users/Brian"
[7] pry(main)> Dir.home
=> "/Users/Brian"
[8] pry(main)> cd(File.join(ENV['HOME'], 'dotfiles'))
RuntimeError: tmp/aruba/Users/Brian/dotfiles is not a directory.  # ?????
from /Users/Brian/test_aruba.rb:11:in `cd'

为什么看不到dotfiles是一个目录?

任何帮助都会很棒。感谢

0 个答案:

没有答案