4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

TDD와 Junit5 정리

르무엘 2023. 12. 15. 11:39

[10분 테코톡] 🌊 바다의 JUnit5 사용법 (youtube.com)

 

//@BeforeAll  모든 테스트 메서드 실행전에 딱한번
//@AfterALL  모든테스트 메서드 실행후에 딱한 번
//@BeforeEach  각각의 테스트 메서드 실행전에
//@AfterEach 각각의 테스트 메서드 실행후에
//@Disabled 해당 테스트 메서드를 실행하지 않음
//@RepeatedTest(10) 해당 테스트 메서드를 10번 반복 실행
//@parameterizedTest  테스트 메서드를 반복 실행하면서 다른 값을 넣어줄 수 있음
//@Nested 테스트 클래스 안에 테스트 클래스를 만들어서 테스트를 그룹화 할 수 있음

//Assertions  결과
// assertAll 모든 테스트를 실행하고 결과를 한번에 확인할 수 있음
// assertArrayEquals 배열이 같은지 확인
// assertDoesNotThrow 예외가 발생하지 않는지 확인
// assertEquals 값이 같은지 확인
// assertIterableEquals Iterable 객체가 같은지 확인
// assertNotEquals 값이 다른지 확인
// assertNotSame 객체가 다른지 확인
// assertNull 객체가 null인지 확인
// assertSame 객체가 같은지 확인
// assertThat 조건에 맞는지 확인
// assertTrue 조건이 참인지 확인
// assertFalse 조건이 거짓인지 확인
// assertThrows 예외가 발생하는지 확인
// assertTimeout 시간안에 실행이 완료되는지 확인
// assertTimeoutPreemptively 시간안에 실행이 완료되는지 확인하고 완료되지 않으면 중단

//Assumption 전제문 가정
//assumeFalse 조건이 거짓이면 테스트를 중단
//assumeTrue 조건이 참이면 테스트를 중단
//assumingThat 조건이 참이면 테스트를 실행하고 거짓이면 테스트를 중단

테스트 코드 적용하기 (JUnit, TDD) [ 스프링 부트 (Spring Boot) ] (youtube.com)

 

단위테스트는 코드가 의도적으로 동작하는지 고려 하여 코드의 안정성을 높일수 있다.

JUnit5 는 Jupiter , Platform 로 구성된다.

//@SpringBootTest : 모든 Bean을 로드하여 테스트
//@ExtendWith(SpringExtension.class) : JUnit5에서 Spring을 사용할 수 있도록 지원
//MockBean : 테스트용 Bean을 등록
//@WebMvcTest : {Class명.class}에 작성된 클래스만 실제로 로드하여 테스트 (컨트롤러와 연관된 Bean이 모두 로드됨)
//@AutoConfigureMockMvc : MockMvc를 자동으로 설정해줌

 

 

 

 

TDD를 사용하는 것이 좋을까? (velog.io)

 

TDD를 사용하는 것이 좋을까?

Test-Driven Development : 테스트가 코드 작성을 주도하는 개발방식TDD란 소프트웨어 개발 방법론 중 하나로, 테스트가 코드 작성을 주도하는 개발방식 입니다. 개발 → 테스트 방식이 아닌, 테스트 →

velog.io

[10분 테코톡] 더즈, 티키의 Classic TDD VS Mockist TDD (youtube.com)

 

 

 

뱅크샐러드의 특별한 스펙, '테크 스펙' | 뱅크샐러드 (banksalad.com)

 

뱅크샐러드의 특별한 스펙, '테크 스펙' | 뱅크샐러드

blog.banksalad.com

 

고객의 불편함이 제품으로 되기까지 - Airbridge API 팀의 개발 프로세스 (ab180.co)

 

고객의 불편함이 제품으로 되기까지 - Airbridge API 팀의 개발 프로세스

AB180에서 API 개발팀이 프로덕트를 만드는 방법을 공유합니다.

engineering.ab180.co

 

LIST