04. Junit, Rest Assure - YAPP-16th/Team_Web_3_Backend GitHub Wiki
REST Assured๋ REST ์น ์๋น์ค๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
HTTP endpoint์ ๋ํ ์ฐ๊ฒฐ ๋ฐ ์์๋๋ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช ํ๋ ์น์ํ DSL (Domain Specific Languages)์ ์ ๊ณตํฉ๋๋ค.
import org.junit.Test;
import io.restassured.RestAssured;
public class SampleTest {
@Test
public void test() {
RestAssured.given()
.when().get("http://www.google.com")
.then().statusCode(200);
}
}
์ด JUnit ํ ์คํธ๋ Google์ ์ฐ๊ฒฐํ๊ณ , GET ํธ์ถ์ ์ํํ๋ฉฐ, HTTP ์ฝ๋ 200/success๊ฐ ๋ฐํ๋๋์ง ํ์ธํฉ๋๋ค.
์ผ๋ฐ์ ์ธ JUnit assert ๋ฌธ์ด ์์ต๋๋ค.
REST Assured๋ ๋ฐํ๋ status code์ ๋ฐ๋ผ ์๋์ผ๋ก pass ๋๋ fail์ ํ๋จํฉ๋๋ค.
REST Assured ์ค์ pom.xml ์ ๋ค์๊ณผ ๊ฐ์ Dependency๋ฅผ ์ถ๊ฐํด์ฃผ์ด์ผ ํฉ๋๋ค.
<dependencies>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
GSON์ API๋ฅผ Request Body์ Jsonํ์์ผ๋ก ํธ์ถํ ๋, ์๋์ผ๋ก Json ํ์์ผ๋ก ํธ์ถํ๋๋ก ํด์ค๋๋ค.