본문 바로가기

Java/Spring Framework

RESTful API 웹서비스 테스트

반응형

Spring 의 기본적인 시스템은 Test를 개발과 동일시하여 TDD기반의 개발을 진행합니다.

Spring에서 진행하는 test는 사용하기 쉽게끔 만들어져있습니다.

 

TDD는 단위테스트를 보다 편하게만들어줍니다.

단위테스트는 더 나은 코드를 더 빨리 만들어내주며, 상대적으로 더 쉽고 비용이 적게 드는 방식입니다.

단위테스트는 기업의 품질 경쟁력 뿐 아니라 프로그래머들을 보다 편하게 만들어주기 위해 존재하는 것입니다.

 

JUnit

JUnit은 단위테스트를 정형화시켜 쉽게 해주는 테스트 지원 프레임워크입니다.

스프링에서 JUnit 프레임워크 사용을 위해선 spring-test 라이브러리가 필요합니다.

Service, Repository class는 빌드시 같이 테스트를 수행해야합니다.

단위 테스트란 소스코드의 특정 모듈이 의도대로 작동하는지 검증하는 절차로 모든 메소드에 대한 TC를 작성하는 것이 일반적인 절차입니다.

 

테스트 클래스 상단에 아래와 같은 annotation을 붙여줍니다.

@RuntWith(SpringRunner.class)

@SpringBootTest

 

테스트 메소드 상단에 아래와 같은 annotation을 붙여줍니다.

@Before

TC 수행 전 수행할 작업을 작성합니다.

@Test

테스트를 수행할 메소드에 붙여줍니다.

 

E2E Test(End to End)

MockMvc를 이용하여 테스트

Controller를 테스트한다고 볼 수 있습니다.

 

TestCase 생성시 directory구조를 똑같이 가져가야합니다.

클래스명은 기존 클래스명 뒤에 'Tests'를 붙여줍니다. 클래스명 + Tests

메소드명은 기존 메소드명 앞에 'test'를 붙여줍니다. test + 메소드명

 

Test 결과 확인은 assetTrue 메소드를 통해 수행합니다.

Assert.assetTrue(a.size() >0) 

 

 

반응형

'Java > Spring Framework' 카테고리의 다른 글

Autowired & Component  (0) 2020.10.18
기본 개념 Spring  (0) 2020.10.15
REST에서 CRUD 구현  (0) 2020.03.06
Spring MVC로 RESTful API 서비스 구현  (0) 2020.03.04
Spring 개발 환경 설정  (0) 2020.03.03