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
"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
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.
◆ Datendatei zum Testen (factory_bot) Durch Platzierung der Fabrik in Spezifikationen / Fabriken Sie können die Testdaten einfach verwenden.
④ 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