[RAILS] RSpec-Installation

Einführung

Installieren Sie RSpec unter Bezugnahme auf RSpec Kotohajime ~ Handbuch zur Ersteinstellung ~ und das offizielle Dokument.

Umgebung

In diesem Artikel finden Sie Informationen zur Installation von Rails. Building Rails-Umgebung mit WSL von Windows 10

RSpec-Installation

Siehe auch: rspec / rspec-Rails Befolgen Sie die offiziellen Anweisungen zur Installation. Bearbeiten Sie zuerst die Gemfile.

Gemfile


group :development, :test do
  [Kürzung]
  gem 'rspec-rails', '~> 4.0.1'
end

Führen Sie nach dem Bearbeiten der Gemfile den folgenden Befehl direkt unter dem Projektverzeichnis aus.

command



#RSpec-Installation
$ bundle install

#Erstellen einer Standardkonfigurationsdatei
$ rails generate rspec:install
Running via Spring preloader in process 266
      create  .rspec
      create  spec
      create  spec/spec_helper.rb
      create  spec/rails_helper.rb

Ein Verzeichnis für RSpec und eine Konfigurationsdatei wurden erstellt. Da RSpec von nun an verwendet wird, löschen Sie das Verzeichnis / test für Minitest.

command


#Testverzeichnis löschen
$ rm -rf test

Grundeinstellung

Fügen Sie die Einstellungen zur erstellten .rspec-Datei hinzu.

.rspec


--require spec_helper
--color
--format documentation
Optionsname Erläuterung
require Angabe der aufzurufenden Datei
coler Färben Sie die Ausgabe
format Ausgabeformateinstellung

Referenz: Befehlszeile --RSpec Core --RSpec --Relish

Diese Einstellung macht "require'spec_helper" in der Spezifikationsdatei überflüssig. Das Ausgabeergebnis ist nicht nur ein Punkt, sondern ein Satzformat. Damit sind die Grundeinstellungen abgeschlossen.

Testsystem Gem

Vorerst einfach auf die Liste setzen. Gefälschte Dienste werden später hinzugefügt.

Edelsteinname URL
factory bot thoughtbot/factory_bot_rails
rubocop-rspec rubocop-hq/rubocop-rspec
webmock bblimke/webmock

Über Bonus database_cleaner

Systemtest von Rails 5.1 oder höher mit RSpec (Übersetzung) ausführen Wie in dem Artikel erwähnt, auf den ich verwiesen habe, scheint database_cleaner nach Rails 5.1 nicht mehr erforderlich zu sein. Es scheint jedoch, dass der Rollback-Mechanismus in System Spec implementiert ist, anstatt database_cleaner automatisch zu installieren. An erster Stelle

spec/rails_helper.rb


RSpec.configure do |config|
  config.use_transactional_fixtures = true
end

Referenz: Transaktionen --RSpec Rails --RSpec --Relish Mit den obigen Einstellungen werden von RSpec ausgeführte Datenbankoperationen für die Transaktion verarbeitet und durch Rollback gelöscht. Der Grund, warum database_cleaner eingeführt wurde

[Übersetzung + α] Verwenden Sie database_cleaner gem mit Rails / RSpec / Capybara / Selenium Dies liegt daran, dass die oben genannten Einstellungen im RSpec-Prozess effektiv funktionieren und nicht effektiv funktionieren, wenn es sich um eine benutzergesteuerte Emulation (Feature Spec) mit Capybara / Selenum usw. handelt. Daher möchte ich die DB-Bereinigung zum Zeitpunkt des Tests detailliert einstellen! Sie benötigen database_cleaner nur, wenn Sie weiterhin Feedback Spec anstelle von System Spec verwenden.

Recommended Posts

RSpec-Installation
Einführung von RSpec
RSpec Setup
Rspec, TDD (1)
Hallo RSpec
OwlgardenRPA --Installieren
Installieren Sie Apache J Meter
Installieren Sie MariaDB (CentOS 8)
[CentOS] Installieren Sie Apache-Loggen
Paketinstallationsfehler
Rspec Basics [Rails]
Composer-Installationsfehler
[Rails5] Rspec -validierung-