Ich habe versucht, WebMock.disable_net_connect!
in vielen Orten zu setzen, aber wie in meinem letzten Test empfohlen Ich habe es in spec_helper.rb
wie folgt aus:WebMock.disable_net_connect! nicht mit rspec arbeiten (kein VCR)
require 'webmock/rspec'
WebMock.disable_net_connect!(allow_localhost: true)
Meine spec ist die folgende:
describe Client do
describe '#get_something' do
context 'when post params are valid' do
it 'returns a response' do
request = stub_request(:post, 'https://myurl.com')
.to_return(my_response)
result = client.get_something(params)
expect(WebMock).to have_requested(:post, 'https://myurl.com')
end
end
end
end
Hmm, natürlich, dass mein Kunde den Anruf macht:
class Client
def get_something(params)
RestClient.post @url, params
end
end
Es mit dieser Meldung fehlschlägt:
Failure/Error: end
The request GET https://myurl.com/ was expected to execute 1 time but it executed 0 times
The following requests were made:
No requests were made.
============================================================
Ich benutze Schienen 4.1.8, rspec 3.1.7, rspec-Schienen 3.1.0 und webmock 1.8.11. Momentan erstelle ich einen Mock eines http_clients, um Dinge zum Laufen zu bringen, aber jede Hilfe hier wird geschätzt! Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen!
Could Sie versuchen 'expect (request) .to have_be en_requested'? –
@HoMan hat es schon versucht und ich bekomme den gleichen Fehler. Die Sache ist, dass 'disable_net_connect' nicht funktioniert, also wird die stubed Anfrage nie angefordert ... –
Ahhh. Ich denke, da der allow_localhost von URL abhängig ist. Versuchen Sie, 'https: // myurl.com' in' localhost: 3000' oder etwas zu ändern –