[RUBY] Rspec Einführung note_Rails

Technisches Memo (Einführung) zum RSpec-Lernen

Was ist RSpec?

Es ist ein Test-Framework für BDD (Behaviour-Driven Development) in Ruby.

Was ist Capybara?

Der Browserbetrieb kann nicht nur den Browserbetrieb einer Webanwendung simulieren, sondern auch intuitiv mit DSL von capybara beschrieben werden. Sie können tatsächlich einen Browser oder einen Handless-Browser (ohne GUI) bedienen.

Was ist FactoryBot?

Es ist ein Juwel, das die Erstellung von Testdaten unterstützt. Testdaten können einfach aufbereitet und aus dem Test abgerufen und verwendet werden.

Einführungsjuwel

RSpec eingeführt

Füge Gem zu Gemfile hinzu Füllen Sie zu diesem Zeitpunkt den Block der Testgruppe aus Durch Ausfüllen der Gruppe wird der Edelstein nur in der Testumgebung aktiviert.

Gemfile


group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'webdrivers'
  gem 'rspec-rails'
end

python


$ bundle

Führen Sie nach dem Ausführen des Bundles den folgenden Befehl generate aus, um die für RSpec erforderlichen Verzeichnisse und Konfigurationsdateien zu erstellen.

python


$ bin/rails g rspec:install

Danach ist das von Rails standardmäßig vorbereitete Testverzeichnis nicht mehr erforderlich. Löschen Sie es daher.

python


$ rm -r ./test

Capybara Grundeinstellungen

Richten Sie Handless Chrome in Ihrem Browser ein. Zu diesem Zeitpunkt tritt ein Fehler auf, der unter dem folgenden Link behoben werden kann. https://takuyakou.hatenablog.com/entry/2019/09/12/192755

spec_helper.rb


RSpec.configure do |config|
  config.before(:each, type: :system) do
    driven_by :selenium_chrome_headless
  end
  ...Kürzung
end

FactoryBot-Installation

Fügen Sie factory_bot_rails zur Gemfile hinzu und führen Sie das Bundle aus.

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]
  gem 'factory_bot_rails'
end

Jetzt können Sie aus dem Spezifikationsverzeichnis testen, das ohne die Rails-App erstellt wurde.

Recommended Posts

Rspec Einführung note_Rails
Rails Buchbesprechung App RSpec Einführung
Lombok ① Einführung
Einführung von RSpec
RSpec-Installation
RSpec Setup
Rspec, TDD (1)
[Java] Einführung
Einführung (Bearbeitung)
Hallo RSpec
[Ruby on Rails] Bis zur Einführung von RSpec
Ich werde nicht mehr zögern! RSpec Einführungsablauf
Einführung von Rspec und japanischer Lokalisierung von Fehlermeldungen