Installieren Sie RSpec unter Bezugnahme auf RSpec Kotohajime ~ Handbuch zur Ersteinstellung ~ und das offizielle Dokument.
In diesem Artikel finden Sie Informationen zur Installation von Rails. Building Rails-Umgebung mit WSL von Windows 10
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
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.
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 |
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