Previous


인수테스트를 하기전 인수테스트는 무엇이고 어떤식으로 실습을하고 테스트를 진행하며 알아야할 기본적인 지식에 대해 학습하고 간단한 테스트를 만들어 실습해가며 학습한다.

테스트 환경 구축


https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d083ea39-e09f-4e06-b373-23b62de0c2ee/2020-05-05T10_18_16.590image.png

인수테스트는 블랙박스 테스트의 성격(1)을 가지는게 좋다고 한다. 그렇기에 시스템 내부 코드를 직접 호출하는 것이 아닌 외부에서 요청하는 방식으로 검증하도록 한다.

인수 테스트 클래스 작성

인수 테스트 객체 설정

테스트를 위한 서버에 API요청을 보내기 위해 클라이언트 객체를 설정해야 한다. 테스트를 위한 클라이언트 객체는 MockMvc, RestAssured, WebTestClient가 있으며, 현재 진행하는 ATDD과정에서는 RestAssured를 사용하기에 나도 RestAssured를 사용하도록 한다.

@DisplayName("지하철 역 관련 기능")
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class StationAcceptanceTest {
    @LocalServerPort
    int port;

    @BeforeEach
    public void setUp() {
        RestAssured.port = port;
    }
    ...
}