Home
Hyeonsu Lim
Cancel

7장 개발 영역에 따른 TDD 작성 패턴

7.3 일반적인 애플리케이션 TDD가 가장 적극적으로 사용되고 효율이 높은 부분은 애플리케이션의 업무 로직을 구현할 때다. 생성자 테스트 단순 클래스를 생성하기 위한 생성자의 경우 테스트 케이스를 작성하지 않는다. 다만 객체 사용을 위한 필수 값을 설정하는 경우에는 필요에 따라 테스트케이스를 작성한다. 또 선행조건이나 업무로직을 직접 기술하는 경우도...

6장 단위테스트 지원 라이브러리:Unitils

6.1 Unitils를 사용하기 위한 환경 준비 Unitils 라이브러리를 사이트에서 내려 받고, 클래스패스에 포함시켜준다. JUnit4와 마찬가지로 static import를 주로 사용한다. 6.2 Unitils의 단위 테스트 지원 기능들 객체 동치성 비교 테스트 케이스를 작성하다 보면 객체끼리 동치성 비교를 해야하는 경우가 흔히 발생한다. @T...

5장 데이터베이스 테스트 DbUnit

5.1 DbUnit의 장점 DB를 사용하는 부분은 프로그래밍 언어 외적인 부분이 상당 부분 포함되기 때문에 TDD를 적용하기가 종종 쉽지 않다. 이럴때 도움을 받을 수 있는 유틸리티로 DbUnit이 있다. 독립적인 데이터베이스 연결 지원 데이터베이스의 특정 시점 상태를 쉽게 내보내거나 읽어들일 수 있다. 테이블이나 데이터셋을 서로 쉽게 ...

4장 한계 돌파를 위한 노력, Mock을 이용한 TDD

4.1 Mock 객체 Mock 객체란 무엇인가? Mock 이란 조각하기 쉬운 재료를 이용하여 추후 만들어질 제춤의 외양을 흉내 낸 모조품을 말한다. 즉 실제 모듈과 비슷하게 보이도록 만든 가짜 객체를 Mock 객체라고 한다. 예) 사용자 암호를 변경하는 기능을 구현하기 위해 테스트 케이스를 작성하는데 추가 요구사항으로 사용자의 패스워드를 반드시 암호...

3장 TDD 좀 더 잘하기

3.1 테스트 케이스 클래스의 위치 단위 테스트 케이스를 소스 구조 안에서 어디에 놓을 것인지 결정해야 한다. 1)테스트 대상 소스와 테스트 클래스를 같은 곳에 테스트 클래스와 같은 패키지 내에 놓는 가장 기본적인 형태이다. 간단한 테스트 생성시 외에 사용하지 않는다. 2)테스트 클래스는 하위 패키지로 예) src/bank - 제품코드 클래스,...

2장 JUnit과 Hamcrest

2.1 JUnit JUnit은 현재 전 세계적으로 가장 널리 사용되는 Java 단위 테스트 프레임워크이다. 기본적으로 다음과 같은 기능을 제공한다. 테스트 결과가 예상과 같은지를 판별해주는 단정문 여러 테스트에서 공용으로 사용할 수 있는 테스트 픽스처 테스트 작업을 수행할 수 있게 해주는 테스트 러너 꼭 알아두어야할 개념으로 테스트 픽...

1장 테스트 주도 개발

1.1 흔하디 흔한 소프트웨어 개발 방식 전통적인 소프트웨어 개발 방식에서는 문제가 발생하고, 문제를 해결하고, 검증을 위한 테스트를 진행시 대표적으로 ‘콘솔’ 화면에 값을 찍어보는 방식을 사용했다. 대개 이런 경우 작성된 코드의 문제 유무 판단을 개발자 자신의 두뇌에 상당 부분 의존하게 된다. 이러한 전통적인 개발 및 테스트에서는 다음의 문제들을 ...

11장 웹 콘텐츠에서 사용하는 기술

11.1 웹 공격 기술 주로 공격이 대상이 되는 것은 HTTP를 사용하는 서버와 클라이언트 그리고 서버 상에서 동작하는 웹 애플리케이션 등의 리소스이다. 인터넷에서 벌어지는 공격의 대부분이 웹 사이트를 노린 것이다. HTTP에는 보안 기능이 없다 : HTTP는 구조가 단순한 프로토콜로 현재의 웹 사이트 대부분에서는 인증, 세션관리, 암호화 등의...

10장 웹 콘텐츠에서 사용하는 기술

10.1 HTML HTML은 웹 상에서 하이퍼텍스트를 보내기 위해서 개발된 언어이다. 2015년에 HTML5가 나왔고, 이는 브라우저간의 호환성 문제를 해결하거나 텍스트를 데이터로 다룰 수 있도록 하여 재사용하기 쉽게하거나 애니메이션 등의 효과를 충실히 하는 것이 사양에 포함된다. 디자인을 적용하는 CSS HTML의 각 요소를 어떻게 표시할지를 지...

9장 HTTP에 기능을 추가한 프로토콜

9.1 HTTP를 기본으로 하는 프로토콜 HTTP 규격이 만들어졌을 때 주로 HTML로 작성된 문서를 전송하기 위한 프로토콜로 HTTP를 생각했다. 하지만 시간이 흐르면서 웹의 용도는 크게 변하고 있고, 그로인해 HTTP라는 프로코톨의 제한이나 한계가 생겨났다. 그래서 HTTP를 기반으로 추가하는 형태로 새로운 프로토콜이 몇 가지가 구현되었다. 9....