Module: FakeFS

Defined in:
lib/fakefs/spec_helpers.rb,
lib/fakefs/dir.rb,
lib/fakefs/file.rb,
lib/fakefs/version.rb,
lib/fakefs/fake/dir.rb,
lib/fakefs/fake/file.rb,
lib/fakefs/fileutils.rb,
lib/fakefs/file_system.rb,
lib/fakefs/fake/symlink.rb,
lib/fakefs/base.rb

Overview

FakeFS::SpecHelpers provides a simple macro for RSpec example groups to turn FakeFS on and off. To use it need to require ‘fakefs/safe’ and ‘fakefs/spec_helpers’. Then include FakeFS::SpecHelpers into any example groups that you wish to use FakeFS in. The “use_fakefs” macro is then available to install before and after hooks which will enable and disable FakeFS. For example:

describe SomeClassThatDealsWithFiles
  include FakeFS::SpecHelpers
  use_fakefs
  ...
end

Alternatively, you can include FakeFS::SpecHelpers in all your example groups using RSpec’s configuration block in your spec helper:

require 'fakefs/safe'
require 'fakefs/spec_helpers'
require 'fakefs/spec_helpers'
Spec::Runner.configure do |config|
  config.extend FakeFS::SpecHelpers
end

Defined Under Namespace

Modules: FileSystem, FileUtils, SpecHelpers, Version Classes: Dir, FakeDir, FakeFile, FakeSymlink, File

Class Method Summary collapse

Class Method Details

.activate!Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/fakefs/base.rb', line 8

def self.activate!
  Object.class_eval do
    remove_const(:Dir)
    remove_const(:File)
    remove_const(:FileUtils)
    const_set(:Dir, FakeFS::Dir)
    const_set(:File, FakeFS::File)
    const_set(:FileUtils, FakeFS::FileUtils)
  end
end

.deactivate!Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/fakefs/base.rb', line 19

def self.deactivate!
  Object.class_eval do
    remove_const(:Dir)
    remove_const(:File)
    remove_const(:FileUtils)
    const_set(:Dir, RealDir)
    const_set(:File, RealFile)
    const_set(:FileUtils, RealFileUtils)
  end
end