0Pricing
Testing Mastery: JUnit, Mockito & Integration Tests · 강의

TDD의 세 가지 법칙

프로덕션 코드와 테스트 코드를 정확히 언제 작성할 수 있는지 규정하는 Robert Martin의 TDD 세 가지 법칙을 체화하세요.

TDD의 세 가지 법칙은(는) CoddyKit의 무료 Testing Mastery: JUnit, Mockito & Integration Tests 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Testing Mastery: JUnit, Mockito & Integration Tests 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Testing Mastery: JUnit, Mockito & Integration Tests 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

Discipline Behind the Cycle

The red-green-refactor cycle becomes precise through three short rules known as the Three Laws of TDD, formulated by Robert C. Martin. They constrain exactly when you write code.

The First Law

Law 1: You may not write production code until you have written a failing unit test.

No code is added speculatively. Every line exists to satisfy a test.

The Second Law

Law 2: You may not write more of a unit test than is sufficient to fail. A compilation failure counts as failing.

The Third Law

Law 3: You may not write more production code than is sufficient to pass the currently failing test.

A Tiny Failing Test

Following Law 2, write only enough test to fail. Here the class does not even exist yet, so it fails to compile.

@Test
void addsTwoNumbers() {
  assertEquals(5, new Calc().add(2, 3));
}

Just Enough Production Code

By Law 3 you write the minimum to pass, even if it looks naive at first.

class Calc {
  int add(int a, int b) { return a + b; }
}

Tight Loop

The three laws lock you into a loop measured in seconds, not minutes: write a bit of failing test, write a bit of code, repeat.

Why So Strict?

The strictness guarantees every line of production code is covered by a test and keeps you from over-engineering features no test demands.

Avoiding Speculative Design

Because you only write code that a test requires, you naturally avoid YAGNI violations (You Aren't Gonna Need It) and dead code.

Practicing the Laws

The laws feel restrictive at first. With practice the loop becomes muscle memory, producing comprehensive test coverage almost as a side effect.

Relationship to Red-Green-Refactor

The laws drive the red and green phases; refactoring still happens once tests pass, with the safety net the laws built.

Quick Check

According to the first law, when may you write production code?

Recap

You learned the disciplined core of TDD:

  • Law 1: no production code without a failing test
  • Law 2: write only enough test to fail
  • Law 3: write only enough code to pass
  • The laws create a tight loop and full coverage

자주 묻는 질문

“TDD의 세 가지 법칙” 강의는 무료인가요?

네 — “TDD의 세 가지 법칙” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Testing Mastery: JUnit, Mockito & Integration Tests 강의 전체를 잠금 해제할 수 있습니다. Testing Mastery: JUnit, Mockito & Integration Tests 강의에는 총 4개의 강의가 포함되어 있습니다.

“TDD의 세 가지 법칙”에서 뭘 배우나요?

프로덕션 코드와 테스트 코드를 정확히 언제 작성할 수 있는지 규정하는 Robert Martin의 TDD 세 가지 법칙을 체화하세요. 브라우저에서 직접 실행하는 실습 코드로 Testing Mastery: JUnit, Mockito & Integration Tests을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Testing Mastery: JUnit, Mockito & Integration Tests을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Testing Mastery: JUnit, Mockito & Integration Tests은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“TDD의 세 가지 법칙” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Testing Mastery: JUnit, Mockito & Integration Tests 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Testing Mastery: JUnit, Mockito & Integration Tests 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. TDD 주기 소개
  2. 테스트 먼저 작성하기
  3. 테스트 용이성을 위한 리팩터링
  4. TDD의 세 가지 법칙
← Testing Mastery: JUnit, Mockito & Integration Tests(으)로 돌아가기