Search
🤯

테스트 (1)

태그
backend study
테스트란 결국 내가 예상하고 의도했던 대로 코드가 정확히 동작하는지를 확인해서
만든 코드를 확신할 수 있게 해주는 작업이다. 또한 테스트의 결과가 원하는 대로 나오지 않는 경우에는 코드나 설계에 결함이 있음을 알 수 있다.
이를 통해 코드의 결함을 제거해가는 작업, 일명 디버깅을 거치게 되고, 결국 최종적으로 테스트가 성공하면 모든 결함이 제거됐다는 확신을 얻을 수 있다.
DAO 테스트를 하는 데에 모든 계층들과 같이 테스트할 경우
테스트 도중 에러가 나거나 테스트가 실패했다면,
하나의 테스트를 수행하는데 참여하는 클래스와 코드가 너무 많기 때문에
과연 어디에서 문제가 발생했는지를 찾아내야 하는 수고가 필요하다.

작은 단위의 테스트

테스트는 가능하면 작은 단위로 쪼개서 집중해서 할 수 있어야한다.
관심사 분리라는 원리가 여기에도 적용된다.
작은 단위릐코드에 대해 테스트를 수행한 것을 단위 테스트라고 한다.

자동수행 테스트 코드

테스트는 자동으로 수행되도록 코드로 만들어지는 것이 중요하다.
오브젝트를 만들어 적절한 값을 넣고 이미 DB 연결 준비까지 다되어 있는 오브젝트를
스프링 컨테이너에서 가져와서 저장하고 조회하는 것까지 자동으로 진행한다.

테스트 검증의 자동화