Ein Integrationstest ist ein Test, der bestätigt, dass sich die App wie beabsichtigt verhält. Sie können es selbst im Browser tun, aber das Schreiben des Testcodes hat einen großen Vorteil. Ich denke, es ist besser, ihn nach Möglichkeit zu schreiben.
verdienen ** ・ Sobald Sie den Code geschrieben haben, können Sie ihn einfach testen ** (Wenn Sie keinen Testcode haben, müssen Sie das Formular ausfüllen und den Link jedes Mal verschieben.) ** ・ Du kannst deine Gedanken organisieren ** Indem Sie es aufschreiben, können Sie Ihre Gedanken objektiv betrachten und das Erkennen von Auslassungen erleichtern. ** ・ Kann als Aufzeichnung aufgezeichnet werden ** Sie können zurückblicken, wie viel Sie von der App erwarten Darüber hinaus kann ein Dritter den Testinhalt problemlos überprüfen.
Dieses Mal werde ich versuchen zu überprüfen, ob der Buchungsvorgang wie die folgende GIF-Datei funktioniert.
Zuerst werden wir einen Edelstein namens Capybara vorstellen.
Gemfile
group :test, :development do
#(Kürzung)
gem 'capybara'
end
Terminal
$ bundle install
spec/rails_helper.rb
#Folgende Beschreibung wurde hinzugefügt
require 'capybara/rspec'
Bereiten Sie als Nächstes eine Arbeitsdatei vor.
Lassen Sie uns das Verzeichnis spec / features
erstellen.
Erstellen Sie eine Testdatei darin.
Diesmal ist es "post_spec.rb".
Ich werde es in "post_spec.rb" beschreiben.
spec/features/post_spec.rb
require 'rails_helper'
feature 'post', type: :feature do
scenario 'Posten können' do
#Es gibt einen Post-Button
visit root_path
expect(page).to have_content('Post')
#Nachbearbeitung funktioniert
expect {
click_link('Post')
expect(current_path).to eq new_post_path
fill_in 'post_content', with: 'Hallo'
fill_in 'post_tags_attributes_0_content', with: 'Etikett'
find('input[type="submit"]').click
}.to change(Post, :count).by(1)
#Auf die oberste Seite umgeleitet
expect(current_path).to eq root_path
#Der gepostete Inhalt wird auf der oberen Seite angezeigt
expect(page).to have_content('Hallo')
end
end
Beschreiben Sie eine Reihe von Operationen zwischen "senario do ~ end".
Dieses Mal bestätigen wir, dass der Post-Link angezeigt wird, bestätigen den Post-Prozess, bestätigen die Weiterleitung und bestätigen die Anzeige des geposteten Inhalts in der angegebenen Reihenfolge. Ich werde die Details der einzelnen Prozesse nicht erläutern, z. B. mit Besuch zum angegebenen Pfad wechseln, das Formular mit fill_in ausfüllen, mit find oder click posten, aber es wird angezeigt, wenn Sie es überprüfen. Lassen Sie uns also herausfinden, ob es einen Prozess gibt, den Sie ausführen möchten ..
Dieser Spickzettel enthält eine Liste von Dingen, die mit Capybara verwendet werden können. Sie können also darauf verweisen.
Es ist gut, den Test auszuführen, indem Sie die Datei wie folgt angeben.
Terminal
$ bundle exec rspec spec/features/post_spec.rb
Geben Sie unter spec die Datei an, die Sie ausführen möchten. Dieses Mal habe ich den Testcode in post_spec.rb in das Funktionsverzeichnis geschrieben, also sieht es so aus wie oben.
Lass es uns laufen.
Wenn es wie oben angezeigt wird, wurde es erfolgreich gelöscht.Recommended Posts