2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

RestAssured

작성: sangseek | 게시 날짜: 2026/06/16 | 조회수: 6
[ 편집불가 ]

RestAssured(정식명: REST-assured)는 Java 기반의 RESTful API 테스트를 쉽게 작성할 수 있게 해주는 오픈소스 라이브러리입니다. 간결한 DSL(도메인 특화 언어)을 제공하여 HTTP 요청 작성, 응답 검증, 인증, 파라미터 조작, JSON/XML 처리 등을 간단하고 읽기 쉬운 코드로 표현할 수 있게 해줍니다. 주로 단위/통합 테스트에서 사용되며 JUnit 또는 TestNG와 함께 많이 쓰입니다. 주요 특징 - 간단하고 읽기 쉬운 fluent API(DSL)로 요청/응답을 기술. - GET/POST/PUT/DELETE 등 HTTP 메서드 지원 및 쿼리/경로/폼/멀티파트 파라미터 처리. - JSON/XML 응답에 대한 경로 탐색(path), 어설션(Assertions), JSONPath/XMLPath 지원. - 인증 지원(기본 인증, OAuth 등)과 HTTPS 관련 설정(예: 인증서 무시). - 요청/응답 스펙(RequestSpecification/ResponseSpecification) 재사용으로 테스트 코드 간 중복 제거. - 로깅(요청/응답 전체/헤더/바디)과 필터(필터를 통한 커스텀 처리) 지원. - Hamcrest 매처와 통합되어 풍부한 검증 표현 가능. - JSON 스키마 검증 등 추가 기능은 별도 의존성으로 확장 가능. 간단한 사용 예제 (Java) - GET 요청 후 상태 코드와 바디 검증: given() .baseUri("https://api.example.com") .header("Accept", "application/json") .param("q", "rest") .when() .get("/search") .then() .statusCode(200) .body("results.size()", greaterThan(0)); - POST 요청과 응답에서 값 추출: String id = given() .contentType(ContentType.JSON) .body("{\"name\":\"John\"}") .when() .post("/users") .then() .statusCode(201) .body("id", notNullValue()) .extract().path("id"); - 인증 사용 예: given() .auth().preemptive().basic("user", "pass") .when() .get("/secure") .then() .statusCode(200); - RequestSpecification 재사용: RequestSpecification spec = new RequestSpecBuilder() .setBaseUri("https://api.example.com") .addHeader("Accept", "application/json") .build(); given().spec(spec).when().get("/resource").then().statusCode(200); 설치 - Maven/Gradle 의존성을 통해 추가 (버전은 Maven Central에서 최신 버전 확인). groupId: io.rest-assured, artifactId: rest-assured (테스트 스코프로 추가 권장). 요약 - REST API를 자동화된 테스트로 검증할 때 코드 작성이 매우 편하고 직관적인 라이브러리입니다. 테스트 코드의 가독성과 생산성을 높여 주며, 다양한 HTTP 시나리오와 응답 검증을 쉽게 구현할 수 있습니다.
내용이 부정하다면 싫어요를 누르세요.