[RAILS] [Rspec] Ablauf von der Einführung von Rspec bis zum Schreiben von Unit-Test-Code für das Modell

Dieses Mal werde ich das Verfahren zur Einführung von Rspec beim Schreiben des Testcodes anstelle eines Memorandums aufschreiben.

Wir stellen vor: Gem

Führen Sie 3 Arten von Edelsteinen ein, die im Test verwendet werden. Beschreiben Sie im Prozess von group: development ,: test do ~ end.

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 'rspec-rails
  gem 'factory_bot_rails'
  gem 'faker'
end

Führen Sie nach dem Schreiben die Bundle-Installation durch und starten Sie den lokalen Server neu.

Installieren Sie die erforderlichen Dateien für Rspec

Terminal


% rails g rspec:install

Visualisieren Sie Testergebnisprotokolle

.rspec


--require spec_helper
--format documentation # =>Nachtrag

Setzen Sie die Fehlermeldung auf Englisch (optional)

Legen Sie fest, ob die Testfehlermeldung auf Englisch angezeigt werden soll. RSpec.configure do |config|Oben hinzugefügt.

spec/rails_helper.rb


#Unterlassung
I18n.locale = "en"

RSpec.configure do |config|
#Unterlassung

Erstellung einer FactoryBot-Datei

--Erstellen Sie ein Fabrikverzeichnis innerhalb des Spezifikationsverzeichnisses. --Und erstellen Sie eine Datei darin, um einen FactoryBot zum Testen zu generieren.

Generieren Sie Benutzerinformationen mit FactoryBot

spec/factories/users.rb


FactoryBot.define do
  factory :user do
    name {Faker::Name}
    email {Faker::Internet.free_email}
    password = Faker::Internet.password(min_length: 6)
    password {password}
    password_confirmation {password}
  end
end

Bestätigen Sie, dass FactoryBot generiert werden kann

Terminal (Konsole)


pry(main)> FactoryBot.create(:user)

Wenn ein Fehler auftritt

`Terminal``


#Verlassen Sie die Konsole mit exit

% spring stop

Bereiten Sie eine Datei vor, um den Testcode zu schreiben

Terminal


% rails g rspec:model user

Beschreibung des Testcodes

Ich werde Testcode immer mehr so schreiben.

spec/models/user_spec.rb


require 'rails_helper'

RSpec.describe User, type: :model do
  pending "add some examples to (or delete) #{__FILE__}"# =>Die ursprüngliche Beschreibung wird gelöscht

describe 'Neue Benutzerregistrierung' do 
    before do
      @user = FactoryBot.build(:user)
    end

   it "name, email, password, password_Wenn alle Bestätigungen eingegeben wurden, werden diese gespeichert" do
      expect(@user).to be_valid
   end
   
  end
end

Beim Ausführen des Testcodes

Führen Sie den folgenden Code aus.

Terminal


% bundle exec rspec spec/models/user_spec.rb

Referenzseite zum Schreiben von Faker

https://rubydoc.info/gems/faker/1.3.0/frames http://railscasts.com/episodes/126-populating-a-database https://github.com/takeyuweb/trygems/blob/master/try-faker/faker.md

Faker::Japanese https://github.com/tily/ruby-faker-japanese

Recommended Posts

[Rspec] Ablauf von der Einführung von Rspec bis zum Schreiben von Unit-Test-Code für das Modell
Nach der Einführung von RSpec schreiben Sie den Unit-Test-Code für das Modell
[Schienen] Von der Testvorbereitung zum Modelleinheitentest [RSpec]
[Rails] Unit-Testcode für das Benutzermodell
So schreiben Sie einen Komponententest für Spring Boot 2
Ein Memorandum zum Schreiben von schönem Code
[R Spec on Rails] So schreiben Sie Testcode für Anfänger von Anfängern
Beispielcode zum Testen eines Spring Boot-Controllers mit MockMvc
Ich möchte einen Unit Test schreiben!
[Java] Fluss vom Quellcode zur Ausführung
Einführung in Rspec, ein Testframework für Ruby on Rails
[RSpec] Ich habe einen Test zum Hochladen eines Profilbilds geschrieben.
Verfahren zur Erstellung des RSpec-Unit-Testcodes (Login User Creation Ver.)
Ausführung des RSpec-Testcodes
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Ich möchte beim Schreiben von Testcode zufällig Informationen generieren
[Integrationstestcode] So wählen Sie ein Element aus date_select aus
Einführung in Micronaut 2 ~ Unit Test ~
Nur daran möchte ich mich erinnern, 4 Entwürfe zum Schreiben von Unit-Tests
So öffnen Sie eine Skriptdatei von Ubuntu mit VS-Code
Schreiben wir einen Testcode für die Anmeldefunktion mit Spring Boot
Ich habe getestet, wie man Rubys Test / Gerät und Janken's Code verwendet.
[Swift5] So kommunizieren Sie von ViewController zu Model und übergeben einen Wert
Hinweise zum Generieren von Dummy-Daten für Kennwörter im Unit-Testcode des Rails-Modells