728x90
현재 상황
웨일던 프로젝트를 리팩토링하면서 Redis를 추가했고 @SpringBootTest를 이용해서 RedisRepository에 대한 테스트 코드를 작성했습니다.
이 어노테이션을 이용해서 테스트를 한다면 Mocking 객체가 아닌 실제 RedisRepository Bean을 이용해서 테스트가 진행됩니다. 이후 Merge를 위해 github에 push 했습니다!
빌드 실패
현재 Github action을 이용해서 CICD가 동작되는데, 도중에 CI Workflow가 실패했다고 메일이 왔습니다.
올해 초에 겪은 일이라 바로 원인을 찾았습니다.
https://bbeomgeun.tistory.com/166
github action script가 실행되는 가상 환경에 Redis가 실행되지 않았기에 실제 Redis를 이용해서 돌아가는 테스트 코드가 연결이 되지 않아 실패가 되었던 것입니다.
따라서 저는 redis server start flow를 script에 추가해줬습니다
https://github.com/marketplace/actions/redis-server-in-github-actions
- name: Start Redis
uses: supercharge/redis-github-action@1.1.0
with:
redis-version: 6
그냥 빌드 전에 환경 세팅하는 순서 아무 곳에 집어넣었습니다. 전 MySQL 세팅 이후에 추가했습니다.
해결
실행되는 github action 가상 환경에 Redis를 추가함으로써 테스트가 통과하고 잘 배포가 되는 것을 확인할 수 있었습니다.
728x90
'개발 공부 > 스프링' 카테고리의 다른 글
[SpringBoot X AWS S3] AWS S3 PresigendURL 적용하고 업로드해보기 (1) | 2022.10.11 |
---|---|
[Junit5, Mockito] Mockito를 이용해서 Void 메서드 Mocking하기 (0) | 2022.10.05 |
[SpringBoot x JPA] Soft Delete #1 Select (해당 Status 조건 추가 조회 방법) - @Where (1) | 2022.09.11 |
[SpringBoot x JPA] List 초기화에서 Builder 패턴 사용 시 NullPointerException (0) | 2022.08.08 |
[SpringBoot] response.sendRedirect(url)가 동작하지 않는 경우 (0) | 2022.07.09 |