본문 바로가기

우테코7

테스트 더블 Mock vs. Stub vs. Spy 차이 알아보기 📓 테스트 더블 일단 요약하자면 Mock, Stub, Spy 각각은 테스트의 목적과 요구 사항에 따라 다르게 사용하고, 종종 함께 사용되기도 한다. 테스트 코드를 작성하다 보면 위 세 가지 개념을 마주하게 되는데 짚고 넘어가 보자. Mock, Stub, Spy는 소프트웨어 테스트에서 자주 사용되는 용어로, 모두 테스트 더블(test double)의 일종이다. 테스트 더블이란, xUnit Test Patterns의 저자인 제라드 메스자로스(Gerard Meszaros)가 만든 용어로 테스트를 진행하기 어려운 경우 이를 대신해 테스트를 진행할 수 있도록 만들어주는 객체를 말한다. (참고: Test Double을 알아보자) 각각은 테스트 중에 외부 시스템이나 복잡한 컴포넌트를 대체하는 데에 사용되지만, 그 목.. 2023. 11. 27.
[우아한테크코스] 우테코 숫자 야구 테스트 코드 분석하기 📓 테스트 코드를 분석하는 이유 문제를 풀어내기 위해서는 그 문제에서 요구하는 바를 정확히 알아야 하기 때문이다. 최종 코딩 테스트 때 기능 요구 사항과 더불어, 테스트 코드에서 요구하는 바를 정확하고 빠르게 알고자 코드를 샅샅이 파헤쳐보고자 한다. 더 나아가, 앞으로 단위 테스트뿐만 아니라 직접 애플리케이션 코드도 짜보고 싶었다. 프리코스 기간에는 '그렇구나~' 하고 넘겼던 테스트 코드를 프리코스 종료 후에 시간을 내어 깊게 파보았다. 더불어, Jest나 테스트 코드 관련 개념도 함께 공부해 보았다. 참고로 전체 테스트 코드는 우아한테크코스 repo에서도 볼 수 있다. 1️⃣ 시작! 일단 불러오기 // App 컴포넌트를 불러옴 import App from '../src/App.js'; // @woowa.. 2023. 11. 24.
[우아한테크코스] 우테코 프리코스 6기 종료 회고 🥺 프리코스가 끝났다 🐾 프리코스 발자취 ⚾️ 1주 차 숫자 야구 미션 PR ⚾️ 1주 차 숫자 야구 미션 회고 🏎️ 2주 차 자동차 경주 미션 PR 🏎️ 2주 차 자동차 경주 미션 회고 🎱 3주 차 로또 미션 PR 🎱 3주 차 로또 미션 회고 🎄 4주 차 크리스마스 프로모션 미션 PR 🎄 4주 차 크리스마스 프로모션 미션 회고 ☕️ 요약하자면 어땠나 힘들었지만 많이 배웠다. 뻔한 이야기지만 정말 그렇다. 배운 점이라고 하면.. 모르는 것을 알게 된 것도 있지만, 부족한 점을 알게 되어 '공부할 거리'를 많이 만든 것도 큰 수확이다. 학습할 때 가장 중요한 것 중에 하나가 모르는 것을 아는 것이라 생각한다. 지금까지는 내가 부족하거나 모르는 것이 뭔지 잘 몰랐다면, 프리코스를 통해 더 채워 나가야 할 것.. 2023. 11. 17.
[우아한테크코스] 우테코 프리코스 6기 4주차 크리스마스 프로모션 미션 회고 개인적으로는 미션 수행을 통해 성장한 과정을 기록하고, 누군가에게는 이 글이 도움이 되었으면 하는 마음입니다 :) 🛠️ 4주 차 결과물 4주 차 미션 : 크리스마스 프로모션 PR 📮 4주 차 메일 내용 1️⃣ 4주 차 미션의 목표 3주 차 미션의 목표는 함수 분리와 함수별 테스트 작성이었다. 그리고 지난 3주 차 목표가 4주 차까지 이어지기에 (1) 클래스(객체)를 분리하는 연습, (2) 도메인 로직에 대한 단위 테스트 작성 연습 두 가지를 더 연습하라는 설명이 있었다. 다행이었다. 뭔가 더 추가가 되었다면 미션 난이도까지 겹쳐져 힘들었을 텐데 지금까지 배운 내용을 더 '고도화'하면 되겠다 생각했다. 2️⃣ 클래스(객체) 분리하는 연습 특히 클래스(객체)를 분리하는 것에 대해 더 깊게 고민해 볼 수 있.. 2023. 11. 15.
[우아한테크코스] 우테코 프리코스 6기 3주차 로또 미션 회고 개인적으로는 미션 수행을 통해 성장한 과정을 기록하고, 누군가에게는 이 글이 도움이 되었으면 하는 마음입니다 :) 🛠️ 3주 차 결과물 3주 차 미션 : 로또 PR 📮 3주 차 메일 내용 1️⃣ 3주 차 미션의 목표 2주 차 미션의 목표는 함수 분리와 함수별 테스트 작성이 목표였다. 그리고 이번 3주 차 미션에서는 2주 차에서 학습한 것에 더해 (1) 클래스(객체)를 분리하는 연습, (2) 도메인 로직에 대한 단위 테스트를 작성하는 연습이라는 두 가지 목표가 추가되었다. 2️⃣ 테스트 연습 아직까지 도메인 로직과 단위 테스트와 같은 용어들이 낯설 수 있지만, 일단 작은 기능부터 테스트를 작성하는 연습을 시작해 보기로 했다. 1주 차 피드백에서 제공된 숫자 야구 피드백 강의 후반부에 단위 테스트를 작성하.. 2023. 11. 8.
[우아한테크코스] 우테코 프리코스 6기 2주차 자동차 경주 미션 회고 개인적으로는 미션 수행을 통해 성장한 과정을 기록하고, 누군가에게는 이 글이 도움이 되었으면 하는 마음입니다 :) 🛠️ 2주 차 결과물 2주 차 미션 : 자동차 경주 PR 📮 2주 차 메일 내용 1️⃣ 지난 1주 차 미션에 이어.. 1주 차 미션의 목표는 git, 분야별 언어, 그리고 미션 사이클에 익숙해지는 것이었다. 그리고 2주 차부터는 우테코 미션 과정을 제대로 맛볼 수 있는 과제인 '자동차 경주' 게임이었다. 요구사항을 이해하는 게 어려울 수 있지만 주어진 요구사항을 잘 파악하는 것도 좋은 개발자의 역량 중 하나다. 고민 없이 무작정 질문하거나 다른 사람의 도움을 받기 전에 스스로 고민하고 문제를 해결해 보는 것을 추천한다고 한다. 2️⃣ 2주 차 미션의 목표 2주 차 미션에서는 1주 차에서 .. 2023. 11. 1.
[우아한테크코스] 우테코 프리코스 6기 1주차 숫자 야구 미션 회고 개인적으로는 미션 수행을 통해 성장한 과정을 기록하고, 누군가에게는 이 글이 도움이 되었으면 하는 마음입니다 :) 🛠️ 1주 차 결과물 1주 차 미션: 숫자 게임 야구 PR 📮 1주 차 미션 메일 내용 1️⃣ 가벼운 미션..? 1주 차 미션인 '숫자 야구 게임'을 보고 반가웠다. 지난 기수들에서 자주 나왔던 미션이었기 때문이다. (필자는 6기에 지원했고) 지난 5기에서는 2주 차 미션이었는데 이번엔 1주 차에 배정돼서 오잉? 했다. 아마 지난 기수 1주 차 '온보딩' 미션이 기능 구현보다는 알고리즘 문제 풀이에 가까워서 그런 게 아닐까? 하는 추측을 해보았다. 첫 메일 내용에 의하면, 개발 환경 세팅과 Git 등 미션 외에도 추가로 익혀야 하는 부분들이 있어 '가벼운 미션'으로 준비했다고 한다. 정말 가.. 2023. 10. 25.