[rspec-users] How do you specify a rubygem is being required?

Al Chou hotfusionman at yahoo.com
Wed Oct 24 22:08:40 EDT 2007


RubyGems does indeed muck with the "require" method.

I believe the current version uses the "gem" method and deprecates the "require" method.  Rails warns me about something to that effect whenever I run script/server, anyway.

Not that I seem to have given you any real help with your spec question....


Al

----- Original Message ----
From: Ashley Moran <work at ashleymoran.me.uk>
To: rspec-users <rspec-users at rubyforge.org>
Sent: Wednesday, October 24, 2007 3:49:22 PM
Subject: [rspec-users] How do you specify a rubygem is being required?


Hi

I'm loading a gem on demand but can't find a way to spec it.

Assuming rubygems is already loaded, I assumed the following would
 work:

   describe SqliteConnection, " class" do
     it "should require 'sqlite3'" do
       Kernel.should_receive(:require).with("sqlite3")
       SqliteConnection.new
     end
   end

Unfortunately it seems that rubygems does something funky to  
"require" because it works as a standalone method, but not as a  
Kernel.require call (ie Kernel.require 'sqlite3' => "LoadError: no  
such file to load -- sqlite3").  Do I need to set the expectation on  
the "main" object?  I have also tried this:

   main_object = self

   describe SqliteConnection, " class" do
     it "should require 'sqlite3'" do
       main_object.should_receive(:require).with("sqlite3")
       SqliteConnection.new
     end
   end

but fails with this:

   Mock 'Object' expected :require with ("sqlite3") but received it  
with ("sqlite3/database")

(!!!)

I'm at a loss, I hope someone can help

Thanks
Ashley


-- 
blog @ http://aviewfromafar.net/
linked-in @ http://www.linkedin.com/in/ashleymoran
currently @ home

_______________________________________________
rspec-users mailing list
rspec-users at rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-users/attachments/20071024/96badb8e/attachment.html 


More information about the rspec-users mailing list