Rspec 모델의 비정상 시스템 단위 테스트 코드 정보
처음에
학습의 메모가 주로 남겨 갑니다.
전제로서 RSpec, FactoryBot의 도입은 끝났다.
실제로 파일에 기술하는 곳에서 시작합니다.
단위 테스트 코드 용어 정보
단위 테스트 코드의 용어를 설명하면서 진행합니다. 이번에는 사용자의 신규 등록 기능에 대해 써 갑니다.
describe
descibe는 테스트 코드를 그룹화하는 메소드입니다.
어떤 기능에 대해서 테스트를 실시할까를 나누어 do~end안에 기술합니다.
예
다른 t
it도 그룹으로 나누는 방법입니다. it 의 경우는 describe 로 나눈 그룹을 보다 상세하게 나눕니다. it로 나눈 그룹을 example이라고도 합니다. 이쪽도 do~end안에 기술합니다.
예
Valid?
valid?는 유효성 검사를 실행하여 오류가 있는지 확인하는 메서드입니다.
에러가 없는 경우는 true 를 가지는 경우는 false 를 돌려줍니다. 또한 오류 내용을 나타내는 메시지를 생성합니다.
errors
errors란 인스턴스에 에러가 있는 경우 그 정보를 나타냅니다. 이 때 full_messges 메소드를 사용합니다.
full_messages 메소드를 사용하여 어떤 오류가 발생했는지 확인할 수 있습니다.
오류 메시지 확인
즉시 오류 메시지를 확인합니다. 이번에는 email이 비어 있을 때는 등록할 수 없는지 확인합니다.
그래서 @user.email=""라고 쓰고 email이 비어 있음을 나타냅니다.
그런 다음 binding.pry를 사용하여 확인합니다.
터미널에서
bundle exec rspec spec/models/user_spec.rb
라고 입력하면 다음 이미지처럼 멈춥니다.
콘솔에 @user.vaild?를 입력하면 false입니다.
@user.errors.full_messages라고 입력하면 아래 이미지와 같이 오류 문장이 나옵니다.
그리고는 에러 문을 코드에 이하의 이미지와 같이 넣습니다.
마지막으로 터미널에서
bundle exec rspec spec/models/user_spec.rb
라고 박아 정상적으로 동작하면 완성입니다.
Reference
이 문제에 관하여(Rspec 모델의 비정상 시스템 단위 테스트 코드 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nakanowatari-taiki/items/9ab9cdc1d76f73fb3308텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)