[RUBY] Verwenden Sie Webmock mit Rspec

Überblick

Ein Juwel, mit dem Sie einen Mock für API-Antworten definieren können, wenn Sie die Fähigkeit testen, auf externe APIs zuzugreifen.

Webmock zu Gemfile hinzugefügt

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

Zu testendes Modell

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

Machen Sie rspec

Durch Ausführen der oben beschriebenen Methode get_request wird der Inhalt des in WebMock definierten Stubs zurückgegeben.

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

Referenz

Recommended Posts

Verwenden Sie Webmock mit Rspec
Verwenden Sie ProGuard mit Gradle
Verwenden Sie Puphpeteer mit Docker
[Schienen] Test mit RSpec
Testen Sie Nokogiri mit Rspec.
Mock and Stub mit Minitest (RR, WebMock, MiniTest :: Mock verwenden)
Verwenden Sie WebJars mit Gradle
Verwenden Sie jlink mit gradle
Verwenden Sie den Include-Matcher gehorsam, wenn Sie den Hash mit RSpec überprüfen
Verwenden Sie Lambda-Ebenen mit Java
Verwenden Sie GDAL mit Python mit Docker
Überprüfen Sie den CSV-Wert mit RSpec
Verwenden Sie das pfx-Zertifikat mit Okhttp3
Testen Sie Active Strage mit RSpec
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
Testen Sie den GraphQL-Resolver mit rspec
Verwenden Sie Spring JDBC mit Spring Boot
Verwenden Sie Ruby mit Google Colab
Verwenden Sie SpatiaLite mit Java / JDBC
Verwenden Sie log4j2 mit YAML + Gradle
[Docker] Wird immer mit Docker + Rails verwendet
[RSpec] Verwenden Sie WebMock, um die Logik mithilfe einer externen API zu testen
Verwenden Sie PlantUML mit Visual Studio Code
Verwenden Sie die Standardauthentifizierung mit Spring Boot
Verwenden Sie Java mit MSYS und Cygwin
Verwenden Sie den Konstruktor mit Argumenten in cucumber-picocontainer
Verwenden Sie den PostgreSQL-Inet-Typ mit DbUnit
Verwenden Sie Bootstrap 4 mit PlayFramework 2.6 (kein CDN)
Verwenden von Git mit SourceTree und Eclipse
Verwenden Sie JDBC mit Java und Scala.
Verwenden Sie Java 11 mit Google Cloud-Funktionen
Wie man mssql-tools mit alpine benutzt
Kopieren Sie den Test und fügen Sie ihn mit RSpec ein
Beginnend mit Spring Boot 0. Verwenden Sie Spring CLI
Verwenden von cuda11.0 mit pytorch mit Docker
[Schienen] Machen wir einen Unit-Test mit Rspec!
[Ruby on Rails] Test mit RSpec anzeigen
Verwenden Sie die Firebase-Echtzeitdatenbank mit Cocos Creator.
Ich möchte DBViewer mit Eclipse 2018-12 verwenden! !!
[Hinweis] Erste Schritte mit Rspec
Verwenden Sie Symbolic Link für den mehrstufigen Build von Docker
[Ruby on Rails] Controller-Test mit RSpec
Verwenden Sie FacesContext als Mock mit PowerMockito
[JaCoCo (Java Code Coverage)] Verwendung mit NetBeans
Verwenden Sie cljstyle mit Spacemacs unter Ubuntu unter WSL2
Verwenden Sie Spring Security JSP-Tags mit FreeMarker
[Ruby on Rails] Modelltest mit RSpec
Verwenden Sie das benannte Format mit Rubys Formatmethode
Verwenden Sie den Cache mit EhCashe 2.x mit Spring Boot