-
[토비의 스프링 3.1 Vol.1] 2장 테스트Java/Spring Framework 2017. 12. 25. 22:09728x90반응형
[사족]
이제는 Java에서는 어지간하면 JUnit을 이용해서 메소드들을 테스트한다. 쉽고 빠르게 여러번 테스트 하기 쉽기 때문이다. 테스트를 작성하는 과정이 까다롭거나 귀찮을 수 있으나 단점보다 장점이 훨씬 많다고 생각된다. 스프링을 사용하지 않더라도 JUnit을 활용하면 테스트 하기 쉽다. 2장에서는 Java의 기본적인 테스트부터 스프링의 테스트, 나아가 학습테스트까지 소개하고 있다.
[내용]
2장의 목차이다.
2.1 UserDaoTest 다시 보기
2.2 UserDaoTest 개선
2.3 개발자를 위한 테스팅 프레임워크 JUnit
2.4 스프링 테스트 적용
2.5 학습 테스트로 배우는 스프링
2.6 정리
1장에서 만든 main메소드를 이용한 테스트를 JUnit을 활용한 테스트로 변모시켜 나간다. 만약 1장의 테스트 하는 과정만 보자면 main메소드를 이용하고, DB도 테스트 할때마다 수동으로 지워줘야 하기 때문에 테스트에 대해 불편하게 생각할지도 모르겠다. 하지만 2장에서 소개하는 JUnit과 스프링 테스트 컨텍스트를 이용하면 쉽고 간단하게 스프링에도 테스트를 적용할 수 있다.
JUnit에서 사용하는 기본적인 어노테이션인 @Test, @Before, @After, @BeforeClass와 스프링에서 사용하는 @RunWith, @ContextConfiguration, @DirtiesContext, 그리고 간단하게나마 @Autowired에 대한 설명도 나온다.
저자가 말했다시피, 스프링에서 주는 가장 중요한 가치인 두 개중에 하나가 테스트라 할정도 테스트는 중요하다. 2장에서 테스트의 유용성에 대해 충분히 설명하고 있다. 나아가 TDD까지 설명하고 있다.
학습 테스트도 다루고 있다. 학습테스트는 "자신이 만들지 않은 프레임워크나 다른 개발팀에서 만들어서 제공한 라이브리 등에 대한 테스트"라고 나온다(P.197). 학습테스트를 사용하면 새로운 API나 프레임워크의 기능들을 돌아보며 배울 수 있다. 재밌게도 JUnit 자체에 대한 학습테스트와 스프링에 대한 학습테스트를 사용하면 각각의 프레임워크들에 대해 잘 알아볼 수 있다는 장점이 있다.
마지막으로 2.6 정리에 나오는 문장이다. 100번 공감한다.
테스트하기 쉬운 코드가 좋은 코드다.
반응형'Java > Spring Framework' 카테고리의 다른 글
[토비의 스프링 3.1 Vol.1] 4장 예외 (0) 2018.01.14 [토비의 스프링 3.1 Vol.1] 3장 템플릿 (0) 2018.01.04 [토비의 스프링 3.1 Vol.1] 1장 오브젝트와 의존관계 (0) 2017.12.24 [Spring Boot] 가장 쉽게 시작하기 2 (0) 2017.06.16 [Spring Boot] 가장 쉽게 시작하기 1 (0) 2017.05.25