들어가기 전 이 글은 Unit Testing 3장 단위 테스트 구조를 공부하며 작성한 글입니다. 3. 단위 테스트 구조 이 장에서는 단위 테스트를 잘 작성하는 방법에 대해서 정리한다. 3.1 단위 테스트를 구성하는 방법 단위 테스트를 잘 구성하는 방법은 아주 중요하다. 단위 테스트를 잘 구성하면 코드의 주석이 없더라도 단위 테스트의 가독성이 올라간다. 3.1.1 Given / When / Then 단위 테스트 코드를 작성할 때는 다음 세 가지 구절로 나누어서 코드를 작성하면 된다. Given(준비) : 테스트 대상 시스템 (SUT : System Under Test)와 SUT에 필요한 의존성을 생성한다. When(실행) : SUT에서 의존성을 전달하며 메서드를 호출한다. 즉, 검증 대상을 실행함. The..
들어가기 전 이 글은 JUnit in Action 6장을 공부하며 작성한 글입니다. 6. 스텁을 활용한 포괄적인 테스트 어플리케이션을 개발하다보면 테스트 대상 코드가 다른 클래스에 종속되어 있을 때가 종종 있다. 그 클래스가 다른 클래스에 종속되어있고, 역시 또 다른 클래스에 종속되기도 한다. 이처럼 외부에 의존적인 어플리케이션이 있다면 테스트를 할 때 어려운 일이다. 특정 런타임 환경에 의존적인 어플리케이션을 단위 테스트 하는 것은 어렵다. 테스트는 안정적이어야하고, 반복적으로 수행해도 매번 동일한 결과를 내야한다. 따라서 테스트를 올바로 수행하기 위해서는 환경을 제어할 수 있어야 한다. 동일한 환경을 갖춰서 테스트 용으로 사용하면 좋겠지만, 다른 회사에서 제공하는 서버라면 동일한 환경을 구축할 수 없..
들어가기 전 이 글은 JUnit in Action 2장을 공부하며 정리한 글입니다. 2. JUnit 핵심 들여다보기 프로그램은 매일 커져간다. 매번 새로운 클래스가 추가될텐데, 여러 클래스 사이의 복잡한 상호 작용을 모두 예측하는 것은 불가능하다. 따라서 어떤 부분이 변경되었는지와 관련없이, 원할 때 언제든 테스트 전체를 돌려보고 클래스 사이의 예상치 못한 상호 작용을 파악할 수 있어야 한다. 2.1 Junit의 핵심 JUnit의 가장 기본적인 구성요소는 테스트 클래스와 테스트 메서드다. 개발자는 테스트 클래스와 테스트 메서드를 작성하는데 집중하면 된다. JUnit의 테스트 클래스, 테스트 메서드를 생성할 때는 다음 조건을 반드시 만족해야한다. 테스트 클래스 반드시 public 클래스여야한다. 기본 생성..
들어가기 전 이 글은 JUnit in Action 1장을 공부하며 정리한 글입니다. 1.2 밑그림부터 시작하기 여기서는 왜 테스트 프레임워크가 필요한지에 대해서 알아보는 과정이다. public class Calculator { public double add(double n1, double n2) { return n1 + n2; } } 위 클래스가 존재한다. 컴파일 시, 문법 오류가 없다는 것은 바로 알 수 있다. 위 메서드가 제대로 동작하는지는 알 수 없다. add() 메서드가 정상적으로 동작하는 것을 보장하기 위해서 새로운 Test 클래스를 작성해야한다. 이에 대응되는 Test 클래스를 작성하면 가장 기본적인 코드는 아마 이렇게 될 것이다. public class CalculatorTest { pub..