You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
5번의 경우 부연설명을 하자면, 단위테스트 결과를 비교하는데 3번에서 지정한 값을 사용한다면 매 번 [spec/factories.rb](https://github.com/Donut Works/Ari/blob/2ca4af182a8acdaba71e628c3358c19ca14f6d09/spec/factories.rb)를 살펴봐야 합니다. 단위테스트가 직관적이지 않게 되죠.
그런고로 단위테스트 안에서 명시적으로 할당하는 것이 좋습니다.
FactoryGirl을 활용할 때 몇 가지 원칙을 지키면 간결하고 명확한 단위테스트를 작성할 수 있습니다.
#build
를, DB에 저장할 필요가 있다면#create
를 활용한다.#build
,#create
에서 한꺼번에 넣어준다.sequence
를 활용해 매 번 다른 값을 생성한다.5번의 경우 부연설명을 하자면, 단위테스트 결과를 비교하는데 3번에서 지정한 값을 사용한다면 매 번 [spec/factories.rb](https://github.com/Donut Works/Ari/blob/2ca4af182a8acdaba71e628c3358c19ca14f6d09/spec/factories.rb)를 살펴봐야 합니다. 단위테스트가 직관적이지 않게 되죠.
그런고로 단위테스트 안에서 명시적으로 할당하는 것이 좋습니다.
가령 spec/unit/sms_sender.rb 코드의 다음 부분은
저라면 이렇게 수정할 것 같습니다.
단위테스트 구조상
username
,email
이 필요하지 않으니 굳이 선언해줄 필요가 없고,build
-save!
는create
로 고쳐줄 수 있습니다. 동시에create
의 인자 안에phone_number
를 넣어줄 수 있죠.다른 코드도 살펴보고 이와 같이 수정하면 좋겠네요. ㅎㅎ
The text was updated successfully, but these errors were encountered: