목록SpringFrameWork (44)
개발자의 오르막
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bdgGIw/btqwGNaRKTV/6cCGh5PogjuDtO2ckxzog1/img.jpg)
# 토비의 스프링 5장 (서비스 추상화) # 테스트 대역의 종류와 특징 테스트 환경을 만들어주기 위해, 테스트 대상이 되는 오브젝트의 기능에만 충실하게 수행하면서 빠르게, 자주 테스트를 실행할 수 있도록 사용하는 이런 오브젝트를 통틀어서 테스트 대역(test double)이라고 부른다. 대표적인 테스트 대역은 테스트 스텁(test stub)이다. 테스트 스텁은 테스트 대상 오브젝트의 의존객체로서 존재하면서 테스트 동안에 코드가 정상적으로 수행할 수 있도록 돕는 것을 말한다. 테스트는 보통 어떤 시스템에 입력을 주었을 때 기대하는 출력이 나오는지를 검증한다. 목 오브젝트(mock object)는 스텁처럼 테스트 오브젝트가 정상적으로 실행되도록 도와주면서, 테스트 오브젝트와 자신의 사이에서 일어나는 커뮤니케..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NTGBb/btqwDIBLSTI/MgWPX91TrNG1IgKVvsBKTK/img.jpg)
# 토비의 스프링 5장 (서비스 추상화) # 트랜잭션 서비스 추상화 기능을 만들 때 트랜잭션에 대한 고려가 이루어져야 한다. 사용자가 서비스를 이용 중 오류 발생 시 트랜잭션 처리에 대한 기능이 구현되지 않는다면, 프로젝트가 완성됬을 당시 트랜잭션 처리 구현을 위해 돌아가야 하는 불상사가 발생한다. 이에 단위테스트를 통해 우리의 기능에 트랜잭션을 반영하고, 트랜잭션이 잘 적용되는지의 Test코드를 만들어 계속해서 점검하며 개발을 진행해야한다. # 트랜잭션의 경계 : 애플리케이션 내에서 트랜잭션이 시작되고 끝나는 위치 모든 트랜잭션은 시작하는 지점과 끝나는 지점이 있다. 모든 작업을 무효화 하는 롤백과 모든 작업을 다 확정하는 커밋이 있다. JDBC의 트랜잭션은 하나의 Connection을 가져와 사용하다..