麻烦设置黄瓜测试而不实际更改文件系统

时间:2013-08-17 20:09:17

标签: ruby cucumber aruba

我一直在努力解决这个问题。我正在尝试测试一个使用大量fileutils操作的ruby CLI,例如制作目录和复制文件等。但是当我编写测试时,我需要一些方法来测试功能而不需要触摸和更改实际的文件系统。我正在尝试使用fakefs gem,但我马上就遇到了错误

When I successfully run `dotfiles init`                           # aruba-0.5.3/lib/aruba/cucumber.rb:71
      No such file or directory - No such file or directory - /tmp/aruba-out20130817-15800-ke8nou (Errno::ENOENT)
      /Users/Brian/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/tempfile.rb:146:in `open'
      /Users/Brian/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/tempfile.rb:146:in `block in initialize'
      /Users/Brian/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/tmpdir.rb:142:in `create'
      /Users/Brian/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/tempfile.rb:136:in `initialize'
      features/dotfiles_repository.feature:8:in `When I successfully run `dotfiles init`'

所以它没有找到/tmp/aruba,这是黄瓜aruba根据readme完成所有文件操作的地方。 测试在没有fakefs的情况下运行正常,所以我假设它与设置有关。

这是我的features/support/env.rb文件

require 'aruba/cucumber'
require 'fakefs/safe'

Before do
  FakeFS.activate!
end

After do
  FakeFS::FileSystem.clear
  FakeFS.deactivate!
end

有谁知道我可能做错了什么?任何帮助表示赞赏。即使它的想法不使用fakefs,我也想听听。感谢

0 个答案:

没有答案