Post

Api테스트작성연습

Api테스트작성연습

필기 가자

API TEST

| 구분 | 단위 테스트 | API 테스트 | | — | — | — | | 테스트 대상 | 메서드, 클래스와 같은 작은 코드 단위 | 애플리케이션의 비즈니스 로직과 데이터 통신 | | 의존성 | 다른 컴포넌트나 데이터베이스와의 의존성을 최소화(주로 Mock 객체 사용) | 데이터베이스, 외부 API 등과의 통합된 환경에서 실행 | | 목적 | 내부 로직의 정확성과 코드 품질 확인 | 클라이언트와 서버 간의 인터페이스가 올바르게 동작하는지 확인 | | 속도 | 일반적으로 빠름 | 상대적으로 느림 (네트워크 요청/응답 처리 포함) | | 실행 도구 | JUnit, Mockito 등 | Postman, Rest Assured, MockMVC 등 | | 예제 | java public int add(int a, int b) { return a + b; } | json { "userId": 1, "productId": 101, "quantity": 2 } |

MockMVC

  • MockMVC는 Spring Framework에서 제공하는 도구로, 컨트롤러 레이어의 테스트를 지원합니다.
  • 특징:
    1. 실제 서블릿 컨테이너를 사용하지 않고도 HTTP 요청/응답을 시뮬레이션할 수 있음.
    2. 요청의 유효성, 컨트롤러의 로직, 응답 상태 코드, JSON 반환 값을 모두 검증 가능.
    3. 실제 데이터베이스와의 의존성을 제거하고 가상의 환경에서 테스트를 수행.

4. Rest Assured를 활용한 API 자동화 테스트

4.1 Rest Assured 개념

  • Rest Assured는 Java 기반의 HTTP 요청 및 응답 테스트를 간단히 수행할 수 있는 API 자동화 테스트 라이브러리입니다.
  • 특징:
    1. RESTful API의 요청과 응답을 간결한 코드로 검증 가능.
    2. JSON/XML 형식의 응답 데이터를 쉽게 파싱하고 검증할 수 있음.
    3. GET, POST, PUT, DELETE 등 모든 HTTP 메서드 지원.

4.4 Rest Assured의 장점

  1. 간결함:
    • 코드 작성이 간단하며, 가독성이 뛰어남.
  2. 통합 테스트 가능:
    • HTTP 요청/응답을 실제로 수행하므로 통합 테스트에 적합.
  3. 유연한 검증:
    • 다양한 응답 데이터(JSON/XML)의 검증 기능 제공.

Action Plan

  • Rest Assured만 사전에 테스트 해보기.

수업 내용 필기 정리.

This post is licensed under CC BY 4.0 by the author.