| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- securitycontextholderfilter
- AWS
- 쿠버네티스
- @Transactional
- CORS
- 페이징
- Web
- dockerhub
- redis
- JWT
- @ComponentScan
- mybatis
- DI
- JPA
- 컨테이너
- 지연 로딩
- 서블릿 컨테이너
- JPQL
- Dead Letter Queue
- JdbcTemplate
- DLQ
- 스프링 부트
- docker compose
- Routing Key
- Spring
- kafka
- docker
- Spring Container
- MSA
- Spring Data JPA
- Today
- Total
목록Test (5)
look-forest
실제 빈을 사용하여 테스트할 경우@SpringBootTest : 통합 테스트를 위해 SpringBoot 애플리케이션 컨텍스트 전체를 로드 webEnvironment 속성 : 테스트 환경에서 애플리케이션의 웹 계층을 어떻게 구성할지 결정MOCK (기본값) : 내장 Tomcat을 실행하지 않고, Mock 서블릿 환경에서 테스트를 수행 RANDOM_PORT : 애플리케이션을 실제로 실행하고, 랜덤 포트에서 테스트 수행 (주로 통합 테스트에 사용)DEFINED_PORT : 애플리케이션을 실제로 실행하고, application.properties에 정의된 포트에서 실행NONE : 웹 계층 없이 테스트 수행 @AutoConfigureMockMvc : MockMvc를 자동으로 구성MockMvc : 요청과 응답을 시뮬..
Mockito 소개자바 테스트에서 사용하는 Mock 프레임워크. spring-boot-starter-test에서 자동으로 Mockito 추가해 줌Mock: 진짜 객체와 비슷하게 동작하지만 프로그래머가 직접 그 객체의 행동을 관리하는 객체.Mockito: Mock 객체를 쉽게 만들고 관리하고 검증할 수 있는 방법을 제공 단위 테스트에 대하여단위 테스트에 대한 고찰단위 테스트를 논할 때, '단위'의 기준은 정하기 나름이다. 클래스가 될 수도 있고, 기능이 될 수도 있다. 이미 존재하는 객체를 굳이 Mock으로 만들 필요는 없다고 생각한다.다만, 내가 통제하기 힘든 외부 API 의 테스트 환경이 없다면 Mocking을 하는 수 밖에 없다.Mock을 활용한 테스트Mock을 만드는 방법Mock이 어떻게 동작해야..
Junit 의 구성Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공.Jupiter: TestEngine API 구현체로 JUnit 5를 제공.Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체.시작하기기본 애노테이션@Test@BeforeAll / @AfterAll@BeforeEach / @AfterEach@Disabled 테스트 이름 표시@DisplayNameGenerationMethod와 Class 레퍼런스를 사용해서 테스트 이름을 표기하는 방법 설정.기본 구현체로 ReplaceUnderscores 제공@DisplayName어떤 테스트인지 테스트 이름을 보다 쉽게 표현할 수 있는 방법을 제공하는 애노테이션.@DisplayNameGeneration ..
데이터 접근 기술에 대해서 더 알아보기 전에 데이터베이스에 연동하는 테스트에 대해서 알아보자. 데이터 접근 기술은 실제 데이터베이스에 접근해서 데이터를 잘 저장하고 조회할 수 있는지 확인하는 것이 필요하다. 테스트 데이터베이스 분리 로컬에서 사용하는 애플리케이션 서버와 테스트에서 같은 데이터베이스를 사용하고 있으니 테스트에서 문제가 발생한다. 이런 문제를 해결하려면 테스트를 다른 환경과 철저하게 분리해야 한다. 테스트는 격리성이 중요하다. 가장 간단한 방법은 테스트 전용 데이터베이스를 별도로 운영하는 것이다.H2 데이터베이스를 용도에 따라 2가지로 구분하면 된다.jdbc:h2:tcp://localhost/~/test : local에서 접근하는 서버 전용 데이터베이스jdbc:h2:tcp:/..
테스트 코드를 만들어야하는 이유테스트해보기 위해 직접 실행하면,오래 걸리고, 반복 실행하기 어렵고, 여러 테스트를 한번에 실행하기 어렵다!이를 해결하기 위해 자바에서는 JUnit이라는 프레임워크로 테스트를 실행한다 그리고 리팩토링 시 유용하다! 테스트 코드의 범위코드: 코드에 오류가 없는가?Class: 이 클래스는 어떤 역할을 하는가?시스템: 어떤 서비스를 제공하는가?고객: 정상적으로 회원가입과 로그인이 되는가? 테스트 종류단위 테스트: 코드가 제대로 기능하는지 확인하기 위해 개별 모듈을 독립적으로 테스트통합 테스트: 다른 모듈이 결합될 때 잘 작동하는 지 테스트E2E 테스트: 사용자 관점에서 처음부터 끝까지 제대로 작동하는지 확인하는 테스트인수 테스트: 고객 요구사항 충족 여부 확인※ TDD: 테스트를..