카테고리 없음

feat. main패키지와 test패키지의 차이점

컴공 윤서혜 학습일기 2021. 3. 19. 16:26

다음 패키지를 보면 2가지의 패키지가 있습니다. 하나는 main 다른하나는 test입니다.

 

1. main은?

직접직인 코드 내용이 들어가기 때문에, 실질적인 스프링부트 프로젝트가 실행됨에 있어서 가장 핵심적인 부분이 들어가는 겁니다.

 

2. test는? (tdd라고 합니다.)

main에 있는 내용을 테스트할 수 있는 환경이 되어 있습니다. 즉, 개발했을때 테스트할수있는 별도의 패키지가 만들어져 있는것입니다.

 

 

cf. tdd란?

Test Driven Development라고 테스트 주도개발입니다. 즉, 테스트가 개발을 이끌어 나간다라는 뜻입니다.

테스트를 먼저 만들고 테스트를 통과하기 위한 것을 짜는 것 즉, 만드는 과정에서 우선 테스트를 작성하고 그걸 통과하는 코드를 만들고를 반복하면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것이다.

 

1. @Autowired

repository를 이용해서 crud를 테스트할 것이기 때문에 Autowired를 선언해줍니다.
di의 개념이 있습니다. (dependency injection)이라고 하고 이것의 특징은, 직접 객체를 생성하지 않고도 springboot에서 직접 관리하겠다라는 뜻을 가지고 있습니다.
, spring이 이 의존성을 전부 주입시켜주겠다라는 뜻입니다.

 

 

2. UserRepository

User객체에 반환할때 사용할 변수를 선언해줍니다.

 

 

3. Test

테스트이기 때문에 Test어노테이션을 넣어줍니다.