Rspec 모델의 비정상 시스템 단위 테스트 코드 정보

2368 단어 RSpecRails

처음에



학습의 메모가 주로 남겨 갑니다.
전제로서 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

라고 박아 정상적으로 동작하면 완성입니다.

좋은 웹페이지 즐겨찾기