[RUBY] [Schienen] Machen wir einen Unit-Test mit Rspec!

Es gibt zwei Arten von Tests: Komponententests und Integrationstests.

-Gerätetest Ein Test, um festzustellen, ob es für ein Programm ordnungsgemäß funktioniert. (Beispiel) Für jede Modellklasse

-Integrationstest 1 Test für die Lotusverarbeitung. (Beispiel) Ablauf von der Eingabe und dem Senden von Werten über den neuen Registrierungsbildschirm des Benutzers bis zum Hinzufügen von Datensätzen zur Datenbank

Einführung von "Rspec" und "factory_bot"

"Rspec" ist ein Jem zum Testen, "Factory_bot" erstellt beim Testen vorübergehend Informationen Es ist ein Hilfetool.

Lassen Sie uns sie daher alle auf einmal installieren.

①jemno Installation

Gemfile


group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
end

Terminal


bundle install

(2) Installieren Sie die minimal erforderliche Datei- / Verzeichnisstruktur von RSpec in Rails

Terminal


$ rails g rspec:install
#>      create  .rspec                  #RSpec-Konfigurationsdatei
#>      create  spec                    #Spezifikationen speichern
#>      create  spec/spec_helper.rb     #Helfer für die Beschreibung der Spezifikation
#>      create  spec/rails_helper.rb    #Helfer für Rails-spezifische Spezifikationsbeschreibung
specフォルダ.png

Fügen Sie hier die erforderlichen Verzeichnisdateien hinzu.

③ Erstellen Sie die erforderlichen Dateien Hier ist ein Validierungstest für das Benutzermodell Ich werde gehen.

◆ Testdatei Die Datei in spec / ist 1 für die zu testende rb-Datei unter app / Vereinbaren Sie eine Eins-zu-Eins-Korrespondenz.

Die Spezifikationen für app / models / user.rb Es wird spec / models / user_spec.rb sein.

spec-file.png

◆ Datendatei zum Testen (factory_bot) Durch Platzierung der Fabrik in Spezifikationen / Fabriken Sie können die Testdaten einfach verwenden.

factories.png

④ Dateibeschreibung

Stellen Sie so ein, dass der Namespace weggelassen werden kann.

spec/rails_helper.rb


RSpec.configure do |config|
+  config.include FactoryGirl::Syntax::Methods
end

.rspec


--format documentation
--require spec_helper

spec/models/user_spec.rb



spec/factories/users.rb


FactoryBot.define do
  factory :user do
    nickname               {"taro"}
    email                  {"[email protected]"}
    password               {"00000000"}
    password_confirmation  {"00000000"}
  end
end

⑤ Führen Sie den Test aus

Terminal


bundle exec rspec spec/models/user_spec.rb

Recommended Posts

[Schienen] Machen wir einen Unit-Test mit Rspec!
[Schienen] Test mit RSpec
[Rails5] Rspec -Einheitentest beim Verschachteln-
[Ruby on Rails] Test mit RSpec anzeigen
[Ruby on Rails] Controller-Test mit RSpec
[Ruby on Rails] Modelltest mit RSpec
Testen Sie Nokogiri mit Rspec.
Machen Sie einen Unit-Test mit Junit.
[RSpec] Verwenden wir FactoryBot [Rails]
Testen Sie Active Strage mit RSpec
[Rails] Testcode mit Rspec
Testen Sie den GraphQL-Resolver mit rspec
[Rails] Informationen zum Rspec-Antworttest
Kopieren Sie den Test und fügen Sie ihn mit RSpec ein
[RSpec] Unit Test (mit gem: factory_bot)
Verstehen Sie die Codeabdeckung mit Rspec, dem Ruby on Rails-Testframework
[Rails] Unit-Testcode für das Benutzermodell
Führen Sie RSpec ein und schreiben Sie den Unit-Test-Code
Lassen Sie uns mit Rails einen Fehlerbildschirm erstellen
Rails Tutorial Test
Rspec Basics [Rails]
[Rails5] Rspec -validierung-
[Für Anfänger] Testen Sie die Benutzerregistrierung bei RSpec
Einführung in Rspec mit Ruby on Rails x Docker
Lassen Sie uns eine Suchfunktion mit Rails (Ransack) machen
Rails-Anfänger haben versucht, mit RSpec zu beginnen
[Rails] Ich möchte mit RSpec testen. Wir unterstützen Ihren Schritt [Einführungsverfahren]
Ausführung des RSpec-Testcodes
So führen Sie mit RxAndroid einen Komponententest mit JVM an einer Quelle durch
Führen Sie Ruby on Rails RSpec-Tests mit GitHub-Aktionen aus
[Mein Memo] Lass uns mit Pry / DB mit Rails auskommen
[Rails 6] Laufzeitfehler mit $ Rails s
[Rails / RSpec] Schreiben Sie einen Modelltest (mit Shoulda Matchers / FactoryBot)
Rails5 Rspec-Testfehler ArgumentError: Werkseitig nicht registriert: Benutzer
Gerät mit Schienen handhaben
Java Unit Test Library-Arterien-Probe
Führen Sie RSpec, Brakeman, Rubocop und Rails Best Practices mit Overcommit aus
Verwenden Sie Webmock mit Rspec
Web-API-Komponententest und Integrationstest mit SpringBoot + Junit5, 4 Muster
[Rails] Entwicklung mit MySQL
Automatisch mit Messgerät testen
Lasttest mit JMeter
Schienen, RSpec-Installationsverfahren
Unterstützt Mehrsprachigkeit mit Rails!
Ich habe einen Unit-Test der Rails-Anwendung mit RSpec und FactoryBot versucht
Lassen Sie uns den Unit-Test wie das Atmen heilen (Apex Trigger Edition)