[rspec-users] Faking FS in specs

20 views
Skip to first unread message

Nicholas Wieland

unread,
Mar 13, 2011, 10:30:34 AM3/13/11
to rspec-users
Hi *, for some reasons I'm not able to fake writing on the FS during specs with carrierwave, someone managed to make it work ?
I'm currently trying to use FakeFS, but apparently I'm not even able to run specs after changing spec_helper. The exception it raises is:

/Users/ngw/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/pathname.rb:446:in `realpath': undefined method `realpath' for FakeFS::File:Class (NoMethodError)

Is it a problem with my version of Ruby ? If it is, how do I test this stuff ? It's very annoying to have the files saved in /public for every autotest I run ...

TIA,
ngw
_______________________________________________
rspec-users mailing list
rspec...@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Scott Taylor

unread,
Mar 13, 2011, 12:28:49 PM3/13/11
to rspec-users

How are you requiring FakeFS?

Scott

Nicholas Wieland

unread,
Mar 13, 2011, 3:37:22 PM3/13/11
to rspec-users
hi Scott, thanks for the answer.

https://gist.github.com/868356

I'm not even calling it inside the specs.

ngw

Avdi Grimm

unread,
Mar 13, 2011, 6:05:01 PM3/13/11
to rspec-users
On Sun, Mar 13, 2011 at 10:30 AM, Nicholas Wieland <n...@nofeed.org> wrote:
> Hi *, for some reasons I'm not able to fake writing on the FS during specs with carrierwave, someone managed to make it work ?
> I'm currently trying to use FakeFS, but apparently I'm not even able to run specs after changing spec_helper. The exception it raises is:

An alternative you might try is Construct: https://github.com/devver/construct

We created it at Devver because we had trouble with libraries like
FakeFS. Instead of faking out the FS, it simply gives you tools to set
up the needed file structures and then automatically clean them up
when the test is done.

--
Avdi Grimm
http://avdi.org

David Chelimsky

unread,
Mar 13, 2011, 5:32:36 PM3/13/11
to rspec-users

Matt Wynne

unread,
Mar 13, 2011, 6:22:35 PM3/13/11
to av...@avdi.org, rspec-users

On 13 Mar 2011, at 22:05, Avdi Grimm wrote:

> On Sun, Mar 13, 2011 at 10:30 AM, Nicholas Wieland <n...@nofeed.org> wrote:
>> Hi *, for some reasons I'm not able to fake writing on the FS during specs with carrierwave, someone managed to make it work ?
>> I'm currently trying to use FakeFS, but apparently I'm not even able to run specs after changing spec_helper. The exception it raises is:
>
> An alternative you might try is Construct: https://github.com/devver/construct
>
> We created it at Devver because we had trouble with libraries like
> FakeFS. Instead of faking out the FS, it simply gives you tools to set
> up the needed file structures and then automatically clean them up
> when the test is done.

I wonder if you could similarly use Aruba's library for that in RSpec. It might need some tweaks.

>
> --
> Avdi Grimm
> http://avdi.org
> _______________________________________________
> rspec-users mailing list
> rspec...@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

cheers,
Matt

ma...@mattwynne.net
07974 430184

Scott Taylor

unread,
Mar 14, 2011, 11:46:40 AM3/14/11
to rspec-users

Agreed with David - it simply hasn't been implemented in FakeFS.

I'm actually a maintainer on the project, but don't have any steam to work on it right now. I'd certainly apply patches, though.

FakeFS is a project of gradual enhancement, so even a patch that doesn't respect all of the arguments / features of File.realpath is OK. We can always fix it / improve it later.

Cheers,

Scott

Reply all
Reply to author
Forward
0 new messages