이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 분철 청년패스
JUnit IN ACTION 3판
TDD를 위한 테스트 원칙, 도구 및 활용
베스트
프로그래밍 언어 top100 4주
가격
43,000
10 38,700
YES포인트?
2,150원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  분철옵션 선택 시, 배송일이 변경될 수 있습니다.
  •  분철상품은 해외배송이 불가합니다.
  •  문화비소득공제 가능

이 상품의 태그

  • 오투 중학 과학 2-2 (2026년)
    오투 중학 과학 2-2 (2026년)
    10% 17,550
    상품명 이동
  • 오투 중학 과학 3-2 (2026년)
    오투 중학 과학 3-2 (2026년)
    10% 16,200
    상품명 이동
  • 2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 상
    2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 상
    10% 17,100
    상품명 이동
  • 완자 기출 PICK 통합과학2 (2026년용)
    완자 기출 PICK 통합과학2 (2026년용)
    10% 15,300
    상품명 이동
  • 2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 하
    2026 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 하
    10% 16,650
    상품명 이동
  • 2027 공단기 소방단기 써니 행정법총론 핵심집약
    2027 공단기 소방단기 써니 행정법총론 핵심집약
    10% 30,600
    상품명 이동
  • 오투 중학 과학 1-2 (2026년)
    오투 중학 과학 1-2 (2026년)
    10% 16,200
    상품명 이동
  • 완자 고등 통합과학 2 (2026년용)
    완자 고등 통합과학 2 (2026년용)
    10% 16,650
    상품명 이동
  • 완자 기출 PICK 통합사회2 (2026년용)
    완자 기출 PICK 통합사회2 (2026년용)
    10% 11,700
    상품명 이동
  • 쎈 중등 수학 2-2 (2026년)
    쎈 중등 수학 2-2 (2026년)
    10% 17,100
    상품명 이동
  • 2026 큰별쌤 최태성의 별별한국사 기출 500제 한국사능력검정시험 심화(1,2,3급)
    2026 큰별쌤 최태성의 별별한국사 기출 500제 한국사능력검정시험 심화(1,2,3급)
    10% 19,800
    상품명 이동
  • EBS 수능완성 국어영역 독서·문학·화법과 작문 (2026년)
    EBS 수능완성 국어영역 독서·문학·화법과 작문 (2026년)
    10% 14,040
    상품명 이동
  • 2027 유휘운 행정법총론 요약노트+기출문제 (요.플.)
    2027 유휘운 행정법총론 요약노트+기출문제 (요.플.)
    10% 33,300
    상품명 이동
  • ETS 토익 정기시험 기출문제집 1000 Vol. 5 RC
    ETS 토익 정기시험 기출문제집 1000 Vol. 5 RC
    10% 19,800
    상품명 이동
  • EBS 수능완성 영어영역 영어 (2026년)
    EBS 수능완성 영어영역 영어 (2026년)
    10% 14,040
    상품명 이동
  • 쎈 중등 수학 1-2 (2026년용)
    쎈 중등 수학 1-2 (2026년용)
    10% 15,750
    상품명 이동
  • ETS 토익 정기시험 기출문제집 1000 Vol. 5 LC
    ETS 토익 정기시험 기출문제집 1000 Vol. 5 LC
    10% 19,800
    상품명 이동
  • 1등급 만들기 통합사회2 700제 (2026년용)
    1등급 만들기 통합사회2 700제 (2026년용)
    10% 10,800
    상품명 이동
  • Xistory 자이스토리 통합사회2 (2026년)
    Xistory 자이스토리 통합사회2 (2026년)
    10% 15,300
    상품명 이동
  • 내신콘서트 중학영어 기출문제집 [2학기 통합본] 중2 동아 윤정미 (2026년)
    내신콘서트 중학영어 기출문제집 [2학기 통합본] 중2 동아 윤정미 (2026년)
    10% 25,200
    상품명 이동

책소개

목차

1부 JUnit

1장 JUnit 시작하기


1.1 프로그램이 제대로 동작하는지 증명하기
1.2 밑바닥부터 시작하기
-1.2.1 단위 테스트 프레임워크 이해하기
-1.2.2 단위 테스트 추가하기
1.3 JUnit 설치하기
1.4 JUnit을 활용하여 테스트하기
정리

2장 JUnit 핵심 살펴보기

2.1 핵심 애노테이션
-2.1.1 @DisplayName
-2.1.2 @Disabled
2.2 중첩 테스트
2.3 태그를 사용한 테스트
2.4 단언문
2.5 가정문
2.6 JUnit 5의 의존성 주입
-2.6.1 TestInfoParameterResolver
-2.6.2 TestReporterParameterResolver
-2.6.3 RepetitionInfoParameterResolver
2.7 반복 테스트
2.8 파라미터를 사용한 테스트
2.9 동적 테스트
2.10 Hamcrest 매처 사용하기
정리

3장 JUnit 아키텍처

3.1 소프트웨어 아키텍처의 개념과 중요성
-3.1.1 첫 번째 이야기: 전화번호부
-3.1.2 두 번째 이야기: 운동화 제조 업체
3.2 JUnit 4 아키텍처
-3.2.1 JUnit 4 모놀리식 아키텍처
-3.2.2 JUnit 4 runner
-3.2.3 JUnit 4 rule
-3.2.4 JUnit 4 아키텍처의 단점
3.3 JUnit 5 아키텍처
-3.3.1 JUnit 5 모듈성
-3.3.2 JUnit Platform
-3.3.3 JUnit Jupiter
-3.3.4 JUnit Vintage
-3.3.5 JUnit 5 내부 아키텍처 구성도
정리

4장 JUnit 4에서 JUnit 5로 전환하기

4.1 JUnit 4에서 JUnit 5로의 전환 과정
4.2 JUnit 4에서 JUnit 5로 전환하는 데 필요한 의존성
4.3 JUnit 5 애노테이션, 클래스, 메서드
-4.3.1 JUnit 4와 JUnit 5에서 비슷하게 사용하는 애노테이션, 클래스, 메서드
-4.3.2 JUnit 4의 @Category와 JUnit 5의 @Tag
-4.3.3 Hamcrest 매처 기능 전환하기
-4.3.4 JUnit 4 rule과 JUnit 5의 확장 모델
-4.3.5 사용자 정의 rule을 extension으로 전환하기
정리

5장 소프트웨어 테스트 원칙

5.1 단위 테스트를 하는 이유
-5.1.1 테스트 커버리지를 높일 수 있다
-5.1.2 팀 생산성이 향상된다
-5.1.3 회귀를 사전에 발견하여 디버깅 작업을 줄일 수 있다
-5.1.4 자신 있게 리팩터링할 수 있다
-5.1.5 기능 구현에 도움이 된다
-5.1.6 코드의 예상 동작을 문서화할 수 있다
-5.1.7 코드 커버리지 및 다양한 지표를 측정할 수 있게 해 준다
5.2 테스트 유형
-5.2.1 단위 테스트
-5.2.2 통합 테스트
-5.2.3 시스템 테스트
-5.2.4 인수 테스트
5.3 블랙박스 테스트 대 화이트박스 테스트
-5.3.1 블랙박스 테스트
-5.3.2 화이트박스 테스트
-5.3.3 장단점 비교
정리

2부 다양한 테스트 전략

6장 테스트 품질


6.1 테스트 커버리지 측정하기
-6.1.1 테스트 커버리지란 무엇인가
-6.1.2 코드 커버리지를 측정하는 도구
6.2 테스트하기 쉬운 코드 작성하기
-6.2.1 public API는 정보 제공자와 정보 사용자 간의 계약이다
-6.2.2 의존성 줄이기
-6.2.3 간단한 생성자 만들어 보기
-6.2.4 데메테르 법칙 따르기
-6.2.5 숨은 의존성과 전역 상태 피하기
-6.2.6 제네릭 메서드 사용하기
-6.2.7 상속보다는 합성 활용하기
-6.2.8 분기문보다는 다형성 활용하기
6.3 TDD
-6.3.1 개발 주기에 적응하기
-6.3.2 TDD 2단계 수행하기
6.4 행위 주도 개발
6.5 돌연변이 테스트 수행하기
6.6 개발 주기 내에서 테스트하기
정리

7장 스텁을 활용한 거친 테스트

7.1 스텁 살펴보기
7.2 스텁으로 HTTP 연결 테스트하기
-7.2.1 무엇을 스텁으로 대체할 것인가
-7.2.2 Jetty를 내장 웹 서버로 활용하기
7.3 스텁으로 웹 서버 리소스 만들기
-7.3.1 첫 번째 스텁 설정하기
-7.3.2 첫 번째 스텁 테스트 되짚어 보기
7.4 스텁으로 HTTP 연결 만들기
-7.4.1 사용자 정의 URL 프로토콜 핸들러 생성하기
-7.4.2 HttpURLConnection 스텁 생성하기
-7.4.3 HTTP 연결을 스텁으로 대체한 테스트 수행하기
정리

8장 모의 객체로 테스트하기

8.1 모의 객체란 무엇인가
8.2 모의 객체를 활용해 단위 테스트하기
8.3 모의 객체를 활용해 리팩터링하기
-8.3.1 리팩터링 예제
-8.3.2 리팩터링 시 고려 사항
8.4 HTTP 연결 모의하기
-8.4.1 모의 객체 정의하기
-8.4.2 예제 메서드 테스트하기
-8.4.3 첫 번째 시도: 쉬운 리팩터링 기법
-8.4.4 두 번째 시도: 클래스 팩터리를 사용한 리팩터링
8.5 모의 객체를 트로이 목마로 사용하기
8.6 모의 객체 프레임워크 사용해 보기
-8.6.1 EasyMock
-8.6.2 JMock
-8.6.3 Mockito
정리

9장 컨테이너를 활용한 테스트

9.1 일반적인 단위 테스트의 한계
9.2 모의 객체를 활용한 테스트
9.3 컨테이너 활용하기
-9.3.1 컨테이너를 활용한 테스트 구현 전략
-9.3.2 컨테이너를 활용한 테스트 프레임워크
9.4 스텁, 모의 객체, 컨테이너 테스트 비교하기
-9.4.1 스텁 평가
-9.4.2 모의 객체 평가
-9.4.3 컨테이너를 활용한 테스트 평가
9.5 Arquillian으로 테스트하기
정리

3부 여러 도구를 활용하여 JUnit 5 사용하기

10장 Maven 3로 실행하는 JUnit 테스트


10.1 Maven 프로젝트 만들기
10.2 Maven 플러그인 활용하기
-10.2.1 Maven complier 플러그인
-10.2.2 Maven Surefire 플러그인
-10.2.3 Maven으로 JUnit 리포트 만들기
10.3 한 번에 모아보기
10.4 Maven의 과제
정리

11장 Gradle 6로 실행하는 JUnit 테스트

11.1 Gradle 살펴보기
11.2 Gradle 프로젝트 설정하기
11.3 Gradle 플러그인 활용하기
11.4 Gradle 프로젝트를 만들고 JUnit 5로 테스트하기
11.5 Gradle과 Maven 비교하기
정리

12장 JUnit 5와 여러 IDE 지원

12.1 IntelliJ IDEA로 JUnit 5 사용하기
12.2 Eclipse로 JUnit 5 사용하기
12.3 NetBeans로 JUnit 5 사용하기
12.4 세 가지 IDE에서의 JUnit 5 사용 방법 비교하기
정리

13장 JUnit 5와 지속적 통합

13.1 테스트와 지속적 통합
13.2 젠킨스 살펴보기
13.3 지속적 통합 실천하기
13.4 젠킨스 설정하기
13.5 지속적 통합 환경에서 작업하기
정리

4부 모던 프레임워크에서 JUnit 사용하기

14장 JUnit 5 확장 모델


14.1 JUnit 5 확장 모델 살펴보기
14.2 JUnit 5 extension 생성하기
14.3 확장 지점을 사용하여 JUnit 5 테스트 구현하기
-14.3.1 승객 정보를 데이터베이스에 영속시키기
-14.3.2 승객의 고유성 검증하기
정리

15장 프레젠테이션 계층 테스트

15.1 테스트 프레임워크 선택하기
15.2 HtmlUnit 살펴보기
-15.2.1 HtmlUnit 실전 예제
15.3 HtmlUnit 테스트 작성하기
-15.3.1 HTML 단언문
-15.3.2 특정한 웹 브라우저 테스트하기
-15.3.3 여러 브라우저 테스트하기
-15.3.4 독립 실행형 GUI 테스트 생성하기
-15.3.5 HTML 폼 테스트하기
-15.3.6 자바스크립트 테스트하기
15.4 Selenium 살펴보기
15.5 Selenium으로 테스트 작성하기
-15.5.1 특정한 웹 브라우저 테스트하기
-15.5.2 웹 브라우저를 사용한 내비게이션 테스트
-15.3.3 여러 브라우저로 테스트하기
-15.5.4 여러 브라우저로 구글 검색과 내비게이션 테스트하기
-15.5.5 웹사이트 인증 테스트하기
15.6 HtmlUnit과 Selenium
정리

16장 스프링 애플리케이션 테스트

16.1 스프링 프레임워크 살펴보기
16.2 의존성 주입 살펴보기
16.3 스프링 애플리케이션 사용 및 테스트
-16.3.1 스프링 콘텍스트를 프로그래밍 방식으로 만들기
-16.3.2 스프링에서 테스트 콘텍스트 프레임워크 사용하기
16.4 JUnit 5 Jupiter에 SpringExtension 사용하기
16.5 신규 기능 추가하고 JUnit 5로 테스트하기
정리

17장 스프링 부트 애플리케이션 테스트

17.1 스프링 부트 살펴보기
17.2 스프링 이니셜라이저로 프로젝트 만들기
17.3 스프링 애플리케이션을 스프링 부트로 전환하기
17.4 스프링 부트에서 테스트 전용 구성 구현하기
17.5 스프링 부트 애플리케이션에 신규 기능 추가하고 테스트하기
정리

18장 REST API 테스트하기

18.1 REST 애플리케이션 살펴보기
18.2 엔티티 한 개를 관리하는 RESTful API 만들기
18.3 엔티티 여러 개를 관리하는 RESTful API 만들기
18.4 RESTful API 테스트하기
정리

19장 데이터베이스 애플리케이션 테스트

19.1 데이터베이스 단위 테스트 시 발생하는 임피던스 불일치
-19.1.1 단위 테스트는 코드를 격리시켜 실행해야 한다
-19.1.2 단위 테스트는 작성과 구동이 쉬워야 한다
-19.1.3 단위 테스트는 실행 속도가 빨라야 한다
19.2 JDBC 애플리케이션 테스트하기
19.3 스프링 JDBC 애플리케이션 테스트하기
19.4 하이버네이트 애플리케이션 테스트하기
19.5 스프링 하이버네이트 애플리케이션 테스트하기
19.6 데이터베이스 애플리케이션 테스트 비교하기
정리

5부 JUnit 5를 사용한 개발 방법론

20장 JUnit 5를 사용한 TDD


20.1 TDD의 핵심 개념
20.2 항공편 관리 시스템
20.3 항공편 관리 시스템을 TDD로 개발하기 위한 사전 준비
20.4 항공편 관리 시스템 리팩터링하기
20.5 TDD로 신규 기능 추가하기
-20.5.1 프리미엄 항공편 추가하기
-20.5.2 승객 중복 추가를 방지하는 기능 추가하기
정리

21장 JUnit 5를 사용한 BDD

21.1 BDD 살펴보기
-21.1.1 신규 기능 추가하기
-21.1.2 요구 사항 분석에서 인수 기준까지
-21.1.3 BDD의 이점과 과제
21.2 Cucumber와 JUnit 5를 사용하여 BDD 실천하기
-21.2.1 Cucumber 살펴보기
-21.2.2 TDD로 만든 기능 Cucumber로 옮기기
-21.2.3 Cucumber를 활용하여 신규 기능 추가하기
21.3 JBehave와 JUnit 5를 사용하여 BDD 실천하기
-21.3.1 JBehave 살펴보기
-21.3.2 TDD로 만든 기능을 JBehave로 옮기기
-21.3.3 JBehave를 활용하여 신규 기능 추가하기
21.4 Cucumber와 JBehave 비교하기
정리

22장 JUnit 5로 테스트 피라미드 전략 구현하기

22.1 소프트웨어 테스트 수준
22.2 단위 테스트: 독립적으로 작동하는 기본 컴포넌트
22.3 통합 테스트: 단위 간의 협력
22.4 시스템 테스트: 전체 소프트웨어 살펴보기
-22.4.1 모의 외부 의존성을 사용한 테스트
-22.4.2 부분적으로 구현한 외부 의존성을 사용한 테스트
-22.4.3 완전히 구현한 외부 의존성을 사용한 테스트
22.5 인수 테스트: 비즈니스 요구 사항 준수하기
정리

부록 A Maven

A.1 설정보다 관습
A.2 강력한 의존성 관리
A.3 Maven 빌드 생애 주기
A.4 플러그인 기반 아키텍처
A.5 Maven 프로젝트 객체 모델
A.6 Maven 설치하기

부록 B Gradle

B.1 Gradle 설치하기
B.2 Gradle로 태스크 만들기

부록 C IDE

C.1 IntelliJ IDEA 설치하기
C.2 Eclipse 설치하기
C.3 NetBeans 설치하기

부록 D 젠킨스

저자 소개 2

커털린 투도세

관심작가 알림신청
 

Catalin Tudose

루마니아 아르제시의 피테슈티에서 태어났다. 부쿠레슈티에서 컴퓨터 과학 박사 학위를 받았다. 15년 이상의 자바 개발 경력이 있으며 많은 통신 프로젝트와 금융 프로젝트에 시니어 소프트웨어 개발자 또는 테크 리더 자격으로 참여했다. 현재 럭소프트(Luxoft)에서 자바와 웹 개발 전문가로 활동 중이다. 부쿠레슈티에서 자동화와 컴퓨터공학을 가르쳤고 폴란드에서는 신입 자바 개발자를 양성하는 기업의 부트캠프 및 사내 자바 교육을 진행했다. IT 분야 외에도 수학, 세계 문화, 축구에 관심이 많다. 지역 팀인 FC 아르제시 피테슈티의 평생 후원자이기도 하다.
글 쓰는 개발자가 되고자 한다. 좋은 책들을 읽기만 한 빚을 갚고 개발 생태계에 도움을 주기 위해 번역을 시작했다. 고려대학교에서 국어국문학을 공부했으며, 현재는 삼성SDS에서 삼성 클라우드 플랫폼의 BM/HPC 관련 상품 개발자로 일하고 있다.

품목정보

발행일
2024년 05월 28일
쪽수, 무게, 크기
664쪽 | 1246g | 188*240*32mm
ISBN13
9788966264407

출판사 리뷰

이 책에서 다루는 내용

ㆍ JUnit 4에서 JUnit 5로 전환하기
ㆍ 효율적으로 테스트 자동화하기
ㆍ TDD와 BDD
ㆍ 테스트 격리를 위한 모의 객체 사용하기
ㆍ JUnit 5를 Maven이나 Gradle과 함께 다루기

추천평

이 책은 단순히 기초적인 JUnit 5의 사용법을 설명하는 데 그치지 않습니다. 개선된 아키텍처를 이용해 테스트를 확장하는 법, 그리고 프레임워크 테스팅과 TDD, BDD와 같은 현대적인 방법론에 이르기까지 JUnit 5를 어떻게 활용해야 할지 명확히 제시합니다. - 정종은 (여기어때)
오늘도 수십, 수백 번 디버깅하면서 소스 코드와 씨름하고 있는 중이라면, 오랜 공을 들여 익숙하던 소스 코드와 시간이 지난 후 재회했을 때 서먹한 경험이 있다면, 그리고 엔지니어라면 누구나 공감하고 고민했을 부분에 양식이 되어줄 친절한 테스트 가이드입니다. - 노준 (REAL I.V.)
이 책은 테스트를 작성하는 방법부터 JUnit의 아키텍처까지 깊이 있는 내용을 다루고 있습니다. TDD(테스트 주도 개발)가 유행하고 있는 요즘, 이 책은 테스트에 대한 깊이 있는 이해를 바탕으로 조금 더 쉽게 TDD의 세계로 여러분을 안내해 줄 것입니다. - 김보성 (제이앤케이사이언스)
《JUnit in Action》은 소스 코드의 품질을 높일 수 있는 필수 참고서입니다. 핵심 개념과 사용법을 예제를 통해 명확하게 알려주어 테스트를 쉽게 배울 수 있습니다. 다양한 주제와 효과적인 테스트 코드 작성법을 안내하기에, 개발자에게 꼭 추천하고 싶은 책입니다. - 이재원 (키네마스터)

리뷰/한줄평2

리뷰

10.0 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정