Test를 적용할 시에 Pure Function과 Side-Effect 간의 차이에 대해 간략히 소개하는 글입니다. 당연한 이야기지만, Pure Function은 Input이 Deterministic, Side-Effect는 Input이 Non-Deterministic 한 경우이고, Side-Effect는 Stubbing 기법을 사용하여 테스트 하는 것이 일반적입니다. 그런데 Stubbing 방식은 잘못 적용하면, 테스트를 하지 않는 것보다 못한 결과를 만들어 낼 수도 있습니다. 가령 Network Call을 Stubbing 하는 경우, 응답 데이터구조가 완전히 잘못되어 있다면, 해당 테스트는 통과하더라도, 사용해서는 안되는 코드가 되겠죠. 읽어볼만한 부분은 Conclusion에 있는 것 같습니다. Stubbing 보다 나은 Dramatic한 방법이 있길 기대했지만... Pure-Function과 Side-Effect를 잘 분리하여 코드를 작성하는 것이 좋은 테스트를 하는 방법인 것 같습니다.

Testing Objects with a Functional Mindset

thoughtbot

Testing Objects with a Functional Mindset

2021년 1월 19일 오전 6:54

댓글 0

주간 인기 TOP 10

지난주 커리어리에서 인기 있던 게시물이에요!