포스트

[Antigravity #6] 테스트 주도 개발(TDD)의 민주화

[Antigravity #6] 테스트 주도 개발(TDD)의 민주화

Antigravity Testing Placeholder

Editor’s Note
“테스트 코드 짜야 하는 건 아는데… 시간이 없어요.”
이제 핑계는 그만! Antigravity와 함께라면 본 코드(Implementation)보다 테스트 코드를 먼저 짜는 것이 더 쉬워집니다.
진정한 TDD의 세계로 여러분을 초대합니다.


1. 왜 테스트 코드를 안 짤까요?

  1. 귀찮아서: 기능 구현하기도 바쁜데 똑같은 로직을 또 짜야 함.
  2. 어려워서: Mocking하고 Stubbing하고 설정할 게 너무 많음.

하지만 테스트가 없으면? “밤새 고친 버그가 다음 날 또 터지는” 악순환에 빠집니다. 이제 AI에게 이 ‘귀찮고 어려운’ 일을 넘깁시다.


2. “나 대신 테스트 짜줘” (Generate Tests)

이미 짜둔 코드가 있다면, 테스트를 붙이는 건 식은 죽 먹기입니다.

1
2
"이 `UserAuth` 클래스에 대한 테스트 코드를 Jest로 작성해줘.
특히 로그인 실패, 비밀번호 불일치, 네트워크 에러 상황을 꼼꼼하게 테스트해."

에이전트는 10초 만에 완벽한 userAuth.test.js 파일을 만들어냅니다. 여러분은 npm test를 돌리고 초록색 통과 메시지(PASS)를 감상하기만 하면 됩니다.


3. 진짜 TDD: 테스트부터 짜기 (Red-Green-Refactor)

고수들은 코드를 짜기 전에 테스트부터 짭니다. Antigravity와 함께라면 초보도 고수가 됩니다.

Step 1: 요구사항 던지기

1
2
3
4
5
6
"나 이제부터 '포인트 적립 기능' 만들 거야.
1. 결제 금액의 1% 적립
2. VIP는 2% 적립
3. 적립금이 1000원 넘어야 사용 가능

이 규칙을 검증하는 테스트 코드부터 먼저 짜줘. (구현 코드는 아직 없으니까 당연히 실패해야 함)"

Step 2: 실패 확인 (Red) 🔴

에이전트가 테스트를 돌립니다. 당연히 다 실패하겠죠. (구현체가 없으니)

Step 3: 구현 및 성공 (Green) 🟢

1
"좋아, 이제 이 테스트들이 모두 통과하도록 비즈니스 로직을 구현해."

에이전트가 드디어 코드를 짭니다. 그리고 테스트를 통과시킵니다.

이것이 바로 완벽한 TDD 사이클입니다. 여러분은 ‘감독관’처럼 테스트 통과 여부만 체크하면 됩니다.


4. 엣지 케이스(Edge Case) 찾기

인간은 늘 ‘행복 회로(Happy Path)’만 돌립니다. “사용자가 당연히 숫자를 넣겠지?” 하지만 사용자는 숫자에 문자를 넣고, 빈칸을 넣고, 특수문자를 넣습니다.

AI는 이런 “예외 상황의 천재”입니다.

“이 코드에서 내가 놓친 엣지 케이스가 있을까? 찾아서 테스트 케이스에 추가해줘.”

라고 물어보세요.

Agent: “금액이 음수(-)일 때, 포인트가 소수점으로 떨어질 때, DB 연결이 끊겼을 때 처리가 안 되어 있습니다. 추가할까요?”

소름 돋을 정도로 꼼꼼하게 잡아냅니다.


5. 오늘의 요약

  1. 테스트 코드는 사람이 짜는 게 아니다. AI가 짜는 거다.
  2. “먼저 테스트 짜줘 -> 그거 통과하게 구현해줘” 순서로 일하면 버그가 0에 수렴한다.
  3. AI에게 “내가 뭐 놓쳤어?”라고 물어보면 무조건 뭔가가 나온다.

테스트까지 완벽해졌습니다. 그런데 매번 “테스트 돌려줘”, “변수명 확인해” 라고 말하기 귀찮지 않나요? 다음 편 [Antigravity #7] 에서는 나만의 규칙을 파일 하나에 적어두고 AI에게 “알아서 지켜”라고 명령하는 Rules 시스템을 배웁니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.