Hi
I'm building a small library to use in my Rails app which interacts with a
3rd party API. It fetches artists and tracks.
So I have:
lib/my_lib.rb
lib/my_lib/artist.rb
lib/my_lib/track.rb
To get an artist I do
artist = MyLib::Artist.find("Oasis")
Which returns an instance of Artist if it finds (via 3rd party API) it or
nil otherwise.
Then I can call artist.tracks which fetches all available tracks at the 3rd
party and returns them as an array.
In my artist class I have a separate method that makes the actual API calls
and parses the XML response with Nokogiri
def self.find(name: nil)
# Stuff...
doc = get_data(some_url)
# More stuff...
end
def get_data(req_url)
Nokogiri::XML(open(req_url))
end
When writing my tests I don't want to hit the actual URL but instead load
an XML file from disk.
I'm using Minitest which has a mocking library, but how do I actually mock
(or is it more appropriate to stub?) the method?
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/a2e63640-ac9a-4114-a949-7a8caaab7468%40googlegroups.com?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.