top of page

취미 게임에 테스트가 1000개 넘는다고요? 낭비일까요?

작성자 사진: Marcel Dütscher
Marcel Dütscher
7월 2일
1분 분량

우리 프로젝트에는 이제 천 개가 훨씬 넘는 자동화 테스트가 있어요. 서버 쪽에 약 990개, Unity 클라이언트에 약 120개예요. 가족 프로젝트에는 과한 것처럼 들려요. 사실은 정반대예요. 이유를 말해 줄게요.


테스트는 우리의 두 번째 개발자예요. 혼자 하는 프로젝트에는 코드 리뷰에서 “잠깐, 그러면 제작이 망가지잖아” 하고 말해 줄 사람이 없어요. 테스트가 바로 그 동료예요. 레시피, 산소, 배고픔, 생물 행동, 월드 비밀번호 같은 모든 게임 규칙에 변경할 때마다 도는 테스트가 있어요. 두려움 없이 리팩터링할 수 있는 게 진짜 이득이에요.


짜증 나지 않을 만큼 빨라요. 15분 걸리는 테스트는 아무도 돌리지 않아요. 그래서 CI 관문이 두 단계예요. 풀 리퀘스트 검사는 빠른 테스트로 3분 남짓에 끝나고, 느린 전체 테스트는 그 뒤에 돌아요. 그러면 커버리지를 잃지 않고도 개발 루프가 경쾌하게 유지돼요.


Unity 테스트는 그 자체로 하나의 주제예요. 실행 중인 엔진 안에서는 클라이언트 로직을 테스트하기 어려워요. 우리의 요령은 이래요. 클라이언트의 핵심 로직은 Unity 없이 돌아가는 별도 라이브러리에 두고, 평범한 코드처럼 헤드리스로 테스트해요. 정말로 엔진이 필요한 것만 EditMode/PlayMode 테스트로 돌려요.


경고는 오류예요. 우리 CI는 “warnaserror”로 빌드해요. 컴파일러 경고 하나하나가 빌드를 깨요. 까다롭게 들리지만, 중요한 경고 하나가 결국 묻혀 버리는 경고 무덤을 막아 줘요.


솔직한 결론이에요. 테스트를 쓰는 데는 개발 시간의 아마 5분의 1이 들어요. 하지만 고친 기능은 모두 계속 고쳐진 채로 있어요. 그리고 퇴근 후 저녁에 살아나는 프로젝트에게는, 주말에 만든 기능이 화요일 기능을 망가뜨리지 않았다는 확신보다 더 값진 건 없어요.

최근 게시물

전체 보기
새 버전이 0.9.2가 아니라 2026.7.19인 이유 🗓️

오늘 업데이트하면 버전 0.9.1에서 2026.7.19로 껑충 뛰어요. 오타처럼 보이지만 의도한 결정이에요. 버전 방식을 “시맨틱” 버전에서 날짜 기반 버전(연.월.순번)으로 바꿨어요. 이유를 설명할게요. 옛 방식은 아무도 묻지 않는 질문에 답했어요. 시맨틱 버전(0.9.1, 1.2.3 …)은 소프트웨어 라이브러리 세계에서 왔어요. 거기서는 훌륭해요. 첫

 
 
대청소 완료: GitHub 캐시를 드디어 제대로 쓰게 됐어요 🧹

지난 기술 글에서 우리 빌드와 검사 파이프라인에 정말로 드는 비용을 재 봤고, 돈이 아니라 기다리는 시간과 저장 공간이 문제라는 걸 알게 됐어요. 그 글은 “정리 작업은 계획했지만 아직 하지 못했다”로 끝났죠. 생각보다 빨리 끝났어요. 오늘 낮부터 메인 브랜치에 들어가 있어요. 숫자를 보여 드릴게요. 결과부터요. 저장소의 캐시 사용량이 항목 63개에 5.3

 
 
한 달에 빌드 천 번 — 그런데 한 번도 돈이 들지 않아요 ⚙️

먼저 정정할 게 있어요. 이 글의 첫 버전은 GitHub 빌드 시간이 다 떨어져서 Pro 계정으로 올릴 수밖에 없었다고 썼어요. 그건 틀렸어요. 문서를 한 번만 봤어도 풀렸을 일이에요. 공개 저장소에서는 GitHub 빌드 시간이 무료예요. 아티팩트와 캐시도요. 저희 저장소는 5월 말부터 공개였으니, 단 1분도 돈을 낸 적이 없고 앞으로도 낼 일이 없어요.

 
 

댓글


더 이상 게시물에 대한 댓글 기능이 지원되지 않습니다. 자세한 사항은 사이트 소유자에게 문의하세요.
bottom of page