2장은 테스트의 필요성과 작성 방법에 대해 다뤘다.
- 테스트는 자동화돼야 하고, 빠르게 실행할 수 있어야 한다.
- main() 테스트 대신 JUnit 프레임워크를 이용한 테스트 작성이 편리하다.
- 테스트 결과는 일관성이 있어야 한다. 코드의 변경 없이 환경이나 테스트 실행 순서에 따라서 결과가 달라지면 안 된다.
- 테스트는 포괄적으로 작성해야 한다. 충분한 검증을 하지 않는 테스트는 없는 것보다 나쁠 수 있다.
- 코드 작성과 테스트 수행의 간격이 짧을수록 효과적이다.
- 테스트를 먼저 만들고 테스트를 성공시키는 코드를 만들어가는 테스트 주도 개발 방법(TDD)도 유용하다.
- 테스트 코드도 애플리케이션 코드와 마찬가지로 적절한 리팩토링이 필요하다.
- @BeforeAll, @AfterAll를 사용해서 테스트 메소드들의 공통 준비 작업과 정리 작업을 처리할 수 있다.
- 스프링 테스트 컨텍스트 프레임워크를 이용하면 테스트 성능을 향상시킬 수 있다.
- 동일한 설정파일을 사용하는 테스트는 하나의 애플리케이션 컨텍스트를 공유한다.
- @AutoWired를 사용하면 컨텍스트의 빈을 테스트 오브젝트에 DI 할 수 있다.
- 기술의 사용 방법을 익히고 이해를 돕기 위해 학습 테스트를 작성하자.
- 오류가 발견된 경우 그에 대한 버그 테스트를 만들어두면 유용하다.
스프링을 사용하는 개발자라면 자신이 만든 코드를 테스트로 검증하는 방법을 알고 있어야 하며, 테스트를 개발에 적극적으로 활용할 수 있어야 한다.
JUnit5를 활용하여 테스트를 할껀데 아래 블로그를 보고 학습에 활용해야겠다.
https://donghyeon.dev/junit/2021/04/11/JUnit5-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C/
'BackEnd > Spring & Springboot Study' 카테고리의 다른 글
스프링 시큐리티 공부할때 순서 (0) | 2022.12.29 |
---|---|
springboot의 특징 5가지 임시저장 (0) | 2022.12.29 |
[토비의 스프링] 2.5 학습 테스트로 배우는 스프링 (0) | 2022.12.23 |
[토비의 스프링] 2.4 스프링 테스트 적용 (0) | 2022.12.23 |
[토비의 스프링] 2.3 개발자를 위한 테스팅 프레임워크 JUnit (0) | 2022.12.22 |