본문 바로가기

unit test

(3)
[Java] TDD란? 실습을 통한 실천법 다음 주제는 채수원 저자님의 '테스트 주도 개발: TDD 실천법과 도구' 1장을 토대로 작성한 글이다. TDD란 무엇이고 개발 방식과 이에 따른 효과에 대한 내용이다. TDD 개요TDD의 정의일반적인 소프트웨어 개발 프로세스는 기능을 구현하고 테스트를 수행하는 형태이다. TDD(Test Driven Development)에서는 그와 반대로 진행된다. 기능을 구현하기 전에 테스트 케이스 작성부터 하는 개발 접근 방식이다.Test the program before you write it.켄트 벡(Kent Beck) 테스트 케이스는 테스트 할 경우의 수를 메서드 단위로 작성한 것이다. 이렇게 요구사항을 충족하는 기능을 구현하기에 앞서 테스트 케이스를 먼저 작성한다. 그리고나서 프로덕션 코드를 작성하고 테스트한..
전반적인 Spring 생태계 이해 (8) - 통합 테스트 (Integration Test) 전반적인 Spring 생태계 이해 (7) - JDBC Template를 통한 중복 제거 글에서 순수 JDBC 사용에 이어서 JDBC Template을 사용하여 중복을 제거하였다. 이제 자바 애플리케이션에서 DB 접근 로직까지 작성을 완료했으므로, 애플리케이션과 DB까지 연동하여 테스트를 수행하는 통합 테스트 (Integration Test)을 해볼것이다.Integration Test란?일반적으로 통합 테스트(Integration Test)는 애플리케이션과 DB까지 연동하여 테스트를 수행하는 것을 말한다. 스프링 기반의 애플리케이션에서 통합 테스트는 스프링 IoC 컨테이너를 로드해서 애플리케이션과 DB 연동까지 테스트를 하는 것을 의미한다. 스프링 부트를 사용하여 통합 테스트를 수행하면, 테스트 환경에서 ..
전반적인 Spring 생태계 이해 (2) - 유닛 테스트(Unit Test) 이전의 전반적인 Spring 생태계 이해 (1) - 웹 애플리케이션 계층에서 구현한 Repository와 Service를 구현했던 코드를 검증하기 위한 유닛 테스트 코드를 작성할 것이다.Repository 테스트 코드 구현개발한 코드가 정상적으로 동작하는지 확인이 필요하다. 간단한 방법은 개발한 기능을 실행해서 테스트 할 때 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해 클라이언트의 요청을 처리하여 해당 기능을 실행한다. 하지만 이러한 방법은 준비하고 실행하는데 오래 걸려서 반복 실행이 어렵다. 그리고 여러 테스트를 한번 에 실행하기 어렵다는 단점이 있다. Java에서는 일반적으로 JUnit이라는 프레임워크로 작성한 테스트 코드를 실행해서 이러한 문제를 해결한다. 위에서 Memo..