[RUBY] Utiliser Webmock avec Rspec

Aperçu

Un joyau qui vous permet de définir une maquette pour les réponses d'API lors du test de la capacité d'accéder à des API externes.

Webmock ajouté à Gemfile

group :test do
  gem 'webmock'
end
$ bundle install --path vendor/bundle

Modèle à tester

model/smaple.rb


require 'net/https'
require 'uri'

class Sample
  include ActiveModel::Model

  def get_request(api_url, params)
    uri = URI(api_url)
    uri.query = params
    request(uri)
  end
end

Faire rspec

L'exécution de la méthode get_request décrite ci-dessus renvoie le contenu du stub défini dans WebMock.

require 'rails_helper'
require 'webmock/rspec'

RSpec.describe Abyss, type: :model do
  describe 'facet', type: :facet do
    before do
      WebMock.enable!
      WebMock.stub_request(:any, "www.example.com").to_return(
        body: "This is a mock",
        status: 200,
        headers: { 'Content-Length' => 7 }
      )
    end
    subject { Sample.new }
    it 'debug' do
      res = subject.send(:get_request, 'http://www.example.com', '')
      puts res.body # This is a mock
    end
  end
end

référence

Recommended Posts

Utiliser Webmock avec Rspec
Utiliser ProGuard avec Gradle
Utiliser Puphpeteer avec Docker
[Rails] Test avec RSpec
Testez Nokogiri avec Rspec.
Mock et stub avec minitest (utilisez RR, WebMock, MiniTest :: Mock)
Utiliser les WebJars avec Gradle
Utilisez jlink avec gradle
Utilisez le matcher d'inclusion docilement lors de la vérification du hachage avec RSpec
Utiliser des couches Lambda avec Java
Utiliser GDAL avec Python avec Docker
Vérifiez la valeur CSV avec RSpec
Utiliser le certificat pfx avec Okhttp3
Tester Active Strage avec RSpec
Utilisez plusieurs bases de données avec Rails 6.0
Tester le résolveur GraphQL avec rspec
Utiliser Spring JDBC avec Spring Boot
Utilisez Ruby avec Google Colab
Utiliser SpatiaLite avec Java / JDBC
Utilisez log4j2 avec YAML + Gradle
[Docker] À utiliser à tout moment avec Docker + Rails
[RSpec] Utilisez WebMock pour tester la logique à l'aide d'une API externe
Utiliser PlantUML avec Visual Studio Code
Utiliser l'authentification de base avec Spring Boot
Utiliser java avec MSYS et Cygwin
Utiliser le constructeur avec des arguments dans cucumber-picocontainer
Utiliser le type inet PostgreSQL avec DbUnit
Utilisez bootstrap 4 avec PlayFramework 2.6 (pas de CDN)
Utiliser Git avec SourceTree et Eclipse
Utilisez JDBC avec Java et Scala.
Utiliser Java 11 avec Google Cloud Functions
Comment utiliser mssql-tools avec Alpine
Copier et coller le test avec RSpec
À partir de Spring Boot 0. Utilisez Spring CLI
Utilisation de cuda11.0 avec pytorch en utilisant Docker
[rails] Faisons un test unitaire avec Rspec!
[Ruby on Rails] Afficher le test avec RSpec
Utilisez Firebase Realtime Database avec Cocos Creator.
Je souhaite utiliser DBViewer avec Eclipse 2018-12! !!
[Note] Comment démarrer avec Rspec
Utiliser le lien symbolique avec la construction en plusieurs étapes de Docker
[Ruby on Rails] Test du contrôleur avec RSpec
Utilisez FacesContext comme maquette avec PowerMockito
[JaCoCo (Java Code Coverage)] Utilisation avec NetBeans
Utiliser cljstyle avec Spacemacs sur Ubuntu sur WSL2
Utiliser les balises JSP Spring Security avec FreeMarker
[Ruby on Rails] Test de modèle avec RSpec
Utiliser le format nommé avec la méthode de format de Ruby
Utiliser le cache avec EhCashe 2.x avec Spring Boot