####参考にさせていただいた記事
ユーザー登録の結合テストコードを実装しようとしたところBasic認証を入れていたことを忘れていました。
実装手順
1:自身で設定した環境変数を変数に入れる
users_apec.rb
def basic_pass(path)
username = ENV["BASIC_AUTH_USER"]
password = ENV["BASIC_AUTH_PASSWORD"]
visit "http://#{username}:#{password}@#{Capybara.current_session.server.host}:#{Capybara.current_session.server.port}#{path}"
end
visitを使用して環境変数を入力するためのURLに遷移すればOKとのことでした!
2:結合テストが読み込まれる前にbasic_pathを読み込ませる
users_spec.rb
# 省略
RSpec.describe "ユーザー新規登録", type: :system do
before do
@user = FactoryBot.build(:user)
end
context 'ユーザー新規登録ができるとき' do
it '正しい情報を入力すればユーザー新規登録ができてトップページへ移動する'do
# トップページへ移動する
basic_pass root_path
visit root_path
# 省略
自分の場合はroot_pathから新規登録画面に遷移するため、
basic_pass root_path
としています!
備忘録もかねて投稿しました。