RSpec wie stub open?

8

Ich habe versucht, open , die Open-Uri-Version, zu stubben, und ich bin nicht erfolgreich.

Ich habe versucht, Folgendes zu tun, aber die Anfrage geht weiter:

%Vor%

Ich habe es auch versucht

%Vor%

Da ich aufgespürt habe, wo HTTP-Anfragen in OpenURI gemacht wurden.

Vielen Dank im Voraus für Anregungen!

    
gaqzi 30.08.2010, 18:46
quelle

3 Antworten

8

Ich habe hier auf Stack Overflow nach einiger Zeit auf Google eine Lösung gefunden (ich kann nicht glauben, dass ich das vorher nicht gefunden habe).

Erklärung aus hier und geschrieben von Tony Pitluga (nicht verknüpfbar).

  

Wenn Sie Sleep im Kontext eines Objekts aufrufen, sollten Sie es auf dem Objekt stupsen [...]
  Der Schlüssel ist, den Schlaf auf dem "Selbst" in dem Kontext, in dem der Schlaf genannt wird, zu unterdrücken.

Also habe ich das gemacht und es hat alles geklappt:

%Vor%     
gaqzi 30.08.2010, 19:06
quelle
11

Hier ist was ich tue

%Vor%

In meiner Spezifikation mache ich folgendes:

%Vor%     
bonyiii 25.05.2012 08:58
quelle
1

Ich würde empfehlen, stattdessen etwas zu verwenden, um das Netzwerk zu stopfen. Ich glaube, der aktuelle Favorit dafür ist FakeWeb [ Dokumente ]. Sie könnten auch interessiert sein an fakeweb-matcher für rspec.

Ach, ich denke, FakeWeb funktioniert möglicherweise nicht mit open() , eigentlich stubs Net::HTTP , also bin ich mir nicht sicher, ob das funktioniert. Gibt es eine Chance, open() nicht zu verwenden? :)

    
wuputah 30.08.2010 18:58
quelle

Tags und Links