Capybara::ElementNotFound:오류 해결 【결합 테스트】
4413 단어 SystemSpecRails6RSpec프로그래밍 초보자
결론
개발자 도구 (검증 모드)를 사용하여 대상 필드의 name 속성 값을 확인하고 해당 값을 fill in 요소로 만듭니다.
(변경 전)
spec/system/users_spec.rbfill_in 'メールアドレス', with: @user.email
↓
(변경 후)
spec/system/users_spec.rbfill_in 'user[email]', with: @user.email', with: @user.email
검증 이미지
이 기사의 내용
system Spec을 사용하여 결합 테스트 코드를 실행할 때 테스트 실행 명령을 실행하면 Capybara::ElementNotFound: 오류가 발생했습니다.
그 오류를 해결하는 방법과 프로세스를 기사로하고 있습니다.
오류 개요
오류 화면
오류의 일본어 번역
"Email"은 유효하지 않습니다. 라는 것도, 사용할 수 없는 것이니까.
테스트 코드 내용
spec/system/users_spec.rbrequire 'rails_helper'
RSpec.describe 'ユーザー新規登録', type: :system do
before do
@user = FactoryBot.build(:user)
end
context 'ユーザー新規登録ができるとき' do
it '正しい情報を入力すればユーザー新規登録ができてトップページに移動する' do
visit root_path
expect(page).to have_content('新規登録')
visit new_user_registration_path
fill_in 'メールアドレス', with: @user.email #←問題の箇所
#〜省略〜
오류 해결까지의 프로세스
①오류 보기
오류 화면
"Email"이 유효하지 않으므로 사용할 수 없습니다.
라는 것은 필드의 명칭이 다른 것을 테스트 코드로 기술하고 있는 것을 알 수 있다.
② 검증 툴로 확인
검증 이미지
역시 다른 것이 되어 있다.
③테스트코드의 기술을 변경한다.
(변경 전)
spec/system/users_spec.rbfill_in 'メールアドレス', with: @user.email
↓
(변경 후)
spec/system/users_spec.rbfill_in 'user_email', with: @user.email
안전 에러 해결이 되었습니다.
오류를 넘어 완성된 테스트
완성된 테스트 코드에 대해 이하 기사로 하고 있습니다!
원한다면 봐주세요!
이상입니다.
Reference
이 문제에 관하여(Capybara::ElementNotFound:오류 해결 【결합 테스트】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/narimiya/items/819cc9acbeeff0210ce8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
fill_in 'メールアドレス', with: @user.email
fill_in 'user[email]', with: @user.email', with: @user.email
system Spec을 사용하여 결합 테스트 코드를 실행할 때 테스트 실행 명령을 실행하면 Capybara::ElementNotFound: 오류가 발생했습니다.
그 오류를 해결하는 방법과 프로세스를 기사로하고 있습니다.
오류 개요
오류 화면
오류의 일본어 번역
"Email"은 유효하지 않습니다. 라는 것도, 사용할 수 없는 것이니까.
테스트 코드 내용
spec/system/users_spec.rbrequire 'rails_helper'
RSpec.describe 'ユーザー新規登録', type: :system do
before do
@user = FactoryBot.build(:user)
end
context 'ユーザー新規登録ができるとき' do
it '正しい情報を入力すればユーザー新規登録ができてトップページに移動する' do
visit root_path
expect(page).to have_content('新規登録')
visit new_user_registration_path
fill_in 'メールアドレス', with: @user.email #←問題の箇所
#〜省略〜
오류 해결까지의 프로세스
①오류 보기
오류 화면
"Email"이 유효하지 않으므로 사용할 수 없습니다.
라는 것은 필드의 명칭이 다른 것을 테스트 코드로 기술하고 있는 것을 알 수 있다.
② 검증 툴로 확인
검증 이미지
역시 다른 것이 되어 있다.
③테스트코드의 기술을 변경한다.
(변경 전)
spec/system/users_spec.rbfill_in 'メールアドレス', with: @user.email
↓
(변경 후)
spec/system/users_spec.rbfill_in 'user_email', with: @user.email
안전 에러 해결이 되었습니다.
오류를 넘어 완성된 테스트
완성된 테스트 코드에 대해 이하 기사로 하고 있습니다!
원한다면 봐주세요!
이상입니다.
Reference
이 문제에 관하여(Capybara::ElementNotFound:오류 해결 【결합 테스트】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/narimiya/items/819cc9acbeeff0210ce8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
spec/system/users_spec.rb
require 'rails_helper'
RSpec.describe 'ユーザー新規登録', type: :system do
before do
@user = FactoryBot.build(:user)
end
context 'ユーザー新規登録ができるとき' do
it '正しい情報を入力すればユーザー新規登録ができてトップページに移動する' do
visit root_path
expect(page).to have_content('新規登録')
visit new_user_registration_path
fill_in 'メールアドレス', with: @user.email #←問題の箇所
#〜省略〜
오류 해결까지의 프로세스
①오류 보기
오류 화면
"Email"이 유효하지 않으므로 사용할 수 없습니다.
라는 것은 필드의 명칭이 다른 것을 테스트 코드로 기술하고 있는 것을 알 수 있다.
② 검증 툴로 확인
검증 이미지
역시 다른 것이 되어 있다.
③테스트코드의 기술을 변경한다.
(변경 전)
spec/system/users_spec.rbfill_in 'メールアドレス', with: @user.email
↓
(변경 후)
spec/system/users_spec.rbfill_in 'user_email', with: @user.email
안전 에러 해결이 되었습니다.
오류를 넘어 완성된 테스트
완성된 테스트 코드에 대해 이하 기사로 하고 있습니다!
원한다면 봐주세요!
이상입니다.
Reference
이 문제에 관하여(Capybara::ElementNotFound:오류 해결 【결합 테스트】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/narimiya/items/819cc9acbeeff0210ce8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
fill_in 'メールアドレス', with: @user.email
fill_in 'user_email', with: @user.email
완성된 테스트 코드에 대해 이하 기사로 하고 있습니다!
원한다면 봐주세요!
이상입니다.
Reference
이 문제에 관하여(Capybara::ElementNotFound:오류 해결 【결합 테스트】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/narimiya/items/819cc9acbeeff0210ce8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)