[RUBY] Comment écrire du code de test avec la certification de base

【Aperçu】

1. Conclusion </ b>

2. Quand deviendrez-vous ○○ </ b>

Supplément: environnement de développement </ b>

  1. Conclusion

Incorporez une variable d'environnement dans une variable et utilisez visit pour accéder à l'URL où la variable d'environnement est intégrée </ b>!

  1. Comment décrire

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 'Poste un commentaire', type: :system do
  before do
    @time = FactoryBot.create(:time)
    @comment = Faker::Lorem.sentence
  end

  it 'Les utilisateurs connectés peuvent commenter sur la page de détails de l'article d'auto-évaluation' do
    #s'identifier
    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

Je l'ai écrit comme ci-dessus!

❶ Puisque l'exemple spécifique de l'URL ci-dessous n'est pas une variable d'environnement, nous avons affecté la variable d'environnement à la variable. Après cela, j'ai imité l'URL suivante. ❷ Si vous n'écrivez pas la méthode basic_pass avant le chargement du code de test d'intégration, vous ne pourrez pas passer l'ID et le mot de passe du test de certification de base. Par conséquent, je le code au tout début du code de test d'intégration et je passe au nouvel écran d'enregistrement (à l'aide de devise gem).

URL qui a été très utile: Comment passer la certification de base avec Capybara + Headless Chrome (Spécifications du système)

Supplément: environnement de développement

Ruby 2.6.5
Rails 6.0.3.3
MySQL
Visual Studio Code
(Caprybara,Rspec,GoogleChrome)

Recommended Posts