1. Schlussfolgerung </ b>
2. Wann wird es sein? ○○ </ b>
Ergänzung: Entwicklungsumgebung </ b>
Betten Sie eine Umgebungsvariable in eine Variable ein und springen Sie mit visit zu der URL, in die die Umgebungsvariable eingebettet ist. </ b>!
def basic_pass(path) #---❶
username = ENV["STUDY"]
password = ENV["STUDY_password"]
visit "http://#{username}:#{password}@#{Capybara.current_session.server.host}:#{Capybara.current_session.server.port}#{path}"
end
RSpec.describe 'Einen Kommentar posten', type: :system do
before do
@time = FactoryBot.create(:time)
@comment = Faker::Lorem.sentence
end
it 'Angemeldete Benutzer können die Detailseite zum Selbststudium kommentieren' do
#Anmeldung
basic_pass new_user_session_path #---❷
fill_in 'Email', with: @time_report.user.email
fill_in 'Password', with: @time_report.user.password
find('input[name="commit"]').click
expect(current_path).to eq root_path
end
end
Ich habe es wie oben geschrieben!
❶ Da das spezifische Beispiel der folgenden URL keine Umgebungsvariable ist, haben wir der Variablen die Umgebungsvariable zugewiesen. Danach habe ich die folgende URL nachgeahmt. ❷ Wenn Sie die basic_pass-Methode nicht schreiben, bevor der Integrationstestcode geladen wurde, können Sie die ID und das Kennwort des Basic-Zertifizierungstests nicht übergeben. Daher codiere ich es ganz am Anfang des Integrationstestcodes und gehe zum neuen Registrierungsbildschirm (mit devise gem).
URL, die sehr hilfreich war: Bestehen der Basiszertifizierung mit Capybara + Headless Chrome (Systemspezifikation)
Ruby 2.6.5 Rails 6.0.3.3 MySQL Visual Studio Code (Caprybara,Rspec,GoogleChrome)
Recommended Posts