Skip to content

Conversation

@purplepig4657
Copy link

명세란 무엇인가

소프트웨어 개발 시작 전, 소프트웨어가 충족해야 하는 요구사항을 기술하는 것.

단위 테스트에서 Given / When / Then 에 대해 설명하시오

Given - 테스트에 필요한 여러 객체들을 준비하는 과정. 실제 객체를 만들어 주입하기도 하고, mock 객체를 주입하기도 한다.
When - 테스트를 진행하는 과정.
Then - When에서 진행한 테스트의 결과를 검증하는 과정.

테스트 코드를 작성하는 이유는 무엇인가

소프트웨어를 개발한 뒤에 개발자는 프로그램이 자신이 의도한대로 잘 동작하는지 검증할 필요가 있다.
수동으로 테스트를 할 수도 있겠지만, 컴퓨터마다 환경이 다를 수 있고, 사람마다 다른 테스트를 진행할 수 있다.
따라서 동일한 환경과 정형화되고 검증된 방법으로 테스트를 진행하기 위하여 테스트 코드를 작성한다.

또, TDD를 위하여 작성하기도 한다. 소프트웨어의 요구사항 명세를 테스트 코드를 작성하면서 하는 것이다.
개발자는 테스트 코드만을 보고 소프트웨어의 요구사항을 파악할 수 있고, 개발 후에 작동을 검증할 수도 있다.

@SpringBootTest의 역할은 무엇인가

스프링의 모든 컴포넌트에 대한 Bean을 생성하고, 테스트를 위한 환경(Embedded DB) 등을 구성한다.

@test의 역할은 무엇인가

독립적인 테스트를 수행할 수 있도록 한다.

mokito를 쓰는 이유는 무엇인가

실제 객체와 비슷한 Mock 객체를 쉽게 만들고 관리하는 목적으로 사용한다.

assertAll의 역할은 무엇인가

여러 assert를 한 번에 실행한다.

image

@purplepig4657
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants