MockMvc, RestAssured 및 TestRestTemplate의 차이점은 무엇입니까?
MockMvc는 컨트롤러를 테스트하고 서비스 계층을 조롱하는 것으로 알고 있습니다.
RestAssured 및 TestRestTemplate는 실행 중인 API 인스턴스를 테스트하고 있습니다.
그것이 맞습니까?RestAssured와 SpringBoot의 TestRestTemplate의 차이점은 무엇입니까?
MockMvc
의 클래스 중 하나입니다.spring-test
이는 주로 컨트롤러 계층의 장치 테스트에 사용됩니다.컨트롤러 클래스뿐만 아니라이는 컨트롤러 계층을 설정하기 위한 것입니다.하지만 서비스와 다른 계층을 모방해야 합니다.따라서 주로 장치 테스트에 사용됩니다.
TestRestTemplate
문서에 나와 있듯이 스프링 테스트의 일부입니다.
통합 테스트에 적합한 {@linkRestTemplate}의 편리한 대안입니다.
Rest Service/endpoint를 테스트하는 데 사용할 수 있습니다.주요 차이점 중 하나는 MockMvc를 단위 테스트에 사용하고 TestRestTemplate를 통합 테스트에 사용한다는 것입니다.즉, MockMvc를 사용하는 경우 실행 중인 서버 인스턴스가 필요하지 않지만 TestRestTemplate의 경우 필요합니다.
RestAssured
완전히 다른 프레임워크입니다.이것은 봄과 아무 상관이 없습니다.이것은 유창한 BDD 스타일 인터페이스로 REST 서비스를 테스트할 수 있는 다양한 방법을 제공하는 라이브러리입니다.
언급한 바와 같이 MockMvc는 서비스 계층을 조롱하는 데 사용됩니다.에 유용합니다.unit-testing
암호의
RestAssured 및 TestRestTemplate 모두 다음 용도로 사용됩니다.integration-testing
즉, 엔드 투 엔드 API 테스트입니다.
또한 RestAssured와 SpringBoot의 TestRestTemplate는 큰 차이가 없습니다.RestAssured for Spring-Boot Application을 사용하거나 Spring 라이브러리인 TestRestTemplate를 사용할 수 있습니다.
MockMvc는 주로 웹 계층 테스트에 사용됩니다.웹 계층 테스트는 기본적으로 앱의 컨트롤러를 테스트하기 위해 특별히 설계된 세부적인 테스트를 작성하는 것입니다.이는 특정 방법을 테스트하기 위해 모의 종속성이 필요한 클래스에 대해 정기적인 단위 테스트를 작성하는 것과 매우 유사합니다.
RestAssured와 TestRestTemplate를 비교하는 한 거의 동일한 작업을 수행합니다.RESTful 기반 API 통합 테스트 및 검증과 관련하여 TestRestTemplate 및 RestAssured는 모두 사용자 정의 헤더, 인증, 콘텐츠 유형, 쿼리 매개 변수, 페이로드 콘텐츠, 쿠키 등을 사용하여 HTTP 호출을 만들고 실행할 수 있는 편리한 방법을 제공합니다.구문과는 별개로 주요 차이점은 TestRestTemplate가 Spring의 테스트 프레임워크의 일부라는 것입니다. 이 프레임워크는spring-boot-starter-test
의존.
이 기사 - MockMvc/Mockito, Test RestTemplate 및 RestAssured를 사용한 Spring Boot RESTful API 테스트 - 이 세 가지 모두에 대한 추가 설명과 강력한 예를 확인하십시오(MockMvc, TestRestTemplate 및 RestAssured).
언급URL : https://stackoverflow.com/questions/52051570/whats-the-difference-between-mockmvc-restassured-and-testresttemplate
'programing' 카테고리의 다른 글
뒤에 aspx 코드를 통해 css 클래스 추가 (0) | 2023.06.30 |
---|---|
EP Plus - 템플릿 사용 방법 (0) | 2023.06.30 |
복합 키를 사용하여 WHERE_IN 쿼리를 수행하시겠습니까? (0) | 2023.06.30 |
안드로이드에서 비트맵을 드로잉 가능으로 변환하는 방법은 무엇입니까? (0) | 2023.06.30 |
git 확장명이 없는 이진 파일 무시 (0) | 2023.06.25 |