2010-04-02 4 views
0

Je suis en train de tester un modèle ActiveResource dans mon application Rails. J'ai mon code ActiveResource::HttpMock dans mon dossier de test comme suit:Problème Unité de test Modèle ActiveResource avec HttpMock

ActiveResource::HttpMock.respond_to do |mock| 
    mock.get "/audience/42/people/1.xml", {"Authorization" => "Basic VTExbTJCTzhkZzNMOmFpdU1nbHZJT2taakdPV3A=", "Accept" => "application/xml"}, @some_ivar 
end 

Quand je lance mon test, je reçois ce message:

ActiveResource::InvalidRequestError: No response recorded for <GET: /audiences/42/people.xml?email_address=user%40domain.tld [AuthorizationBasic VTExbTJCTzhkZzNMOmFpdU1nbHZJT2taakdPV3A=Acceptapplication/xml]()> 

Je suis sûr que ce soit une simple question de ne pas avoir mon HttpMock configuré correctement, mais à ce stade, je ne sais pas comment ajuster pour rendre l'objet HttpMock répondre réellement à l'appel de la méthode.

(Si c'est de l'aide, c'est lié au PeopleController de StreamSend API. Comme il s'agit d'un point de terminaison API tiers et qu'il n'y a pas de sandbox développeur, la moquerie est vraiment la seule façon d'y aller.

Répondre

0

La restriction de la portée de require 'active_resource/http_mock' a corrigé cette erreur pour moi. Voir this link.