Einführung in Rspec mit Ruby on Rails x Docker

Ziel

--rails6 × Ich möchte rspec in einer Docker-Umgebung installieren

Annahme

Verfahren

1. Edelstein zu Gemfile hinzufügen

Fügen Sie den folgenden Edelstein hinzu: Entwickeln,: Testen gem "rspec-rails" gem "factory_bot_rails"

Gemfile


group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  #Test-Framework
  gem "rspec-rails"
  gem "factory_bot_rails"
end

2. Installieren Sie rspec von einem anderen Terminal als dem, auf dem der Server ausgeführt wird

MacBook-Air App Name% docker-compose run web rails g rspec:install
App-Name starten_db_1 ... done
Running via Spring preloader in process 64
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb

Dadurch wird eine Konfigurationsdatei im Verzeichnis Ihrer App erstellt

Lassen Sie uns sofort einen Test erstellen

Versuchen Sie, die Spezifikation des Modells mit dem Generator zu generieren, um sie zu schreiben

Zunächst werden die zugehörigen Dateien automatisch mit dem folgenden Befehl generiert. Modell ist ein eigenes Modell.

MacBook-Air App Name% docker-compose run web rails g rspec:Modell Modellname
App-Name starten_db_1 ... done
Running via Spring preloader in process 64
      create  spec/models/reception_spec.rb
      invoke  factory_bot
      create    spec/factories/receptions.rb

Wenn Sie es generieren können, schreiben Sie diesmal einen Test zur Validierung

spec/factories/reception.rb


FactoryBot.define do
  factory :reception do
    name {"Beispielbesucher 1"}
    purpose {"Interview"}
    organization {"Sample Co., Ltd."}
  end
end

spec/models/reception_spec.rb


RSpec.describe Reception, type: :model do
  reception = FactoryBot.create(:reception)

  it 'Empfangsinstanz aktiviert' do
    expect(reception).to be_valid
  end
end

Nach dem Hinzufügen der Spezifikation,

MacBook-Air App Name% docker-compose run web bundle exec rspec

Ausführung abgeschlossen mit

MacBook-Air App Name% docker-compose run web bundle exec rspec
App-Name starten_db_1 ... done
.

Finished in 0.22889 seconds (files took 6.32 seconds to load)
1 example, 0 failures

Schreiben Sie eine Anforderungsspezifikation (API-Test)

Generieren Sie vor dem Schreiben der Anforderungsspezifikation die erforderlichen Dateien mit dem Generator.

docker-compose run web rails g rspec:Controller-Name anfordern/Modellname
Starting heytaisho_db_1 ... done
Running via Spring preloader in process 66
      create  spec/requests/receptions_spec.rb

Öffnen und bearbeiten Sie die generierte Datei

Verweise

https://qiita.com/Ushinji/items/522ed01c9c14b680222c

Recommended Posts

Einführung in Rspec mit Ruby on Rails x Docker
[Ruby on Rails] Controller-Test mit RSpec
[Ruby on Rails] Modelltest mit RSpec
Einführung in Rspec, ein Testframework für Ruby on Rails
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Führen Sie Ruby on Rails RSpec-Tests mit GitHub-Aktionen aus
Hinweise zur Verwendung von FCM mit Ruby on Rails
Erstellen einer Entwicklungsumgebung für Ruby on Rails mit Docker + VSCode (Remote Container)
Verstehen Sie die Codeabdeckung mit Rspec, dem Ruby on Rails-Testframework
Docker x Rails 6 (Memo)
Veröffentlichen Sie die mit Ruby on Rails erstellte App
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Integrieren Sie Docker in Ihr Ruby on Rails-Portfolio!
[Schienen] Test mit RSpec
[Rails] Verfahren zum Verknüpfen von Datenbanken mit Ruby On Rails
Ruby On Rails Association
Bestimmen Sie die aktuelle Seite mit Ruby on Rails
[Ruby on Rails] Hochladen mehrerer Bilder mit Refile
Ich habe mit Ruby On Rails ein Portfolio erstellt
[Ruby on Rails] Löschen Sie s3-Bilder mit Active Strage
Fehler beim Bereitstellen von Docker auf Schienen mit Notizen
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
Site Map im RSS / Atom-Format mit Ruby on Rails erstellt
Ruby on Rails Lernrekord -2020.10.03
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Ruby on Rails lernen Rekord-2020.10.07 ②
Führen Sie Rails immer im Docker aus
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Grundlegendes Memorandum
[Docker] Wird immer mit Docker + Rails verwendet
Ich habe versucht, das Ruby on Rails-Plugin mit vim-plug zu installieren
[Ruby on Rails] Fügen Sie eine Spalte mit externen Schlüsselbeschränkungen hinzu
[Ruby on Rails] Implementieren Sie die Anmeldefunktion von add_token_to_users mit API