Je suis en train d'écrire une gemme qui agit comme un client pour une API distante, donc j'utilise webmock pour simuler l'API distante, en testant aussi avec Cucumber avec rspec-mock present.Dans Concombre sur Ruby avec rspec, comment puis-je attendre/affirmer un appel webmocked dans une clause Then?
Dans le cadre de mes tests Cucumber, j'ai l'intention de remplacer mon API par une clause Given
, mais je voudrais préciser que l'API distante est appelée dans une clause Then
.
Un exemple très basique serait:
fichier Feature
Scenario: Doing something that triggers a call
Given I have mocked Google
When I call my library
Then it calls my Google stub
And I get a response back from my library
Étape définition
Given /I have mocked my API/ do
stub_request(:get, 'www.google.com')
end
When /I call my library/ do
MyLibrary.call_google_for_some_reason
end
Then /it calls my Google stub/ do
# Somehow test it here
end
La question: Comment puis-je vérifier que mon google talon h comme appelé? Note: Je sais que je pourrais utiliser la syntaxe expect(a_request(...))
ou expect(WebMock).to ...
mais je pense que je vais répéter ce qui est défini dans ma clause Given
.
J'adore webmock. Pas assez pour l'épouser. Mais c'est très satisfaisant. –