This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit d4cf902e6b324124ca576a10c6f6dfa3020a1371
tree 27162d00a01558cef103ade95f38bb54d14ea60b
parent a201579ef41097e59d72819ee84a63f7934aadd3
tree 27162d00a01558cef103ade95f38bb54d14ea60b
parent a201579ef41097e59d72819ee84a63f7934aadd3
fakefs /
| name | age | message | |
|---|---|---|---|
| |
LICENSE | Fri May 29 11:24:36 -0700 2009 | |
| |
README.markdown | ||
| |
lib/ | ||
| |
test/ |
README.markdown
FakeFS
Mocha is great. But when your library is all about manipulating the filesystem, you really want to test the behavior and not the implementation.
If you're mocking and stubbing every call to FileUtils or File, you're tightly coupling your tests with the implementation.
def test_creates_directory
FileUtils.expects(:mkdir).with("directory").once
Library.add "directory"
end
The above test will break if we decide to use mkdir_p in our code. Refactoring
code shouldn't necessitate refactoring tests.
With FakeFS:
def test_creates_directory
Library.add "directory"
assert File.directory?("directory")
end
Woot.
How is this different than MockFS?
FakeFS provides a test suite and works with symlinks. It's also strictly a test-time dependency: your actual library does not need to use or know about FakeFS.
Authors
Chris Wanstrath [chris@ozmm.org]








