🆘 문제 상황Docker desktop을 설치했는데 retrieving system version: exec: "sw_vers": executable file not found in $PATH initializing api proxy server: getting linux engine: getting services IP: computing ServiceIP of : invalid CIDR address:에러가 발생하며 종료되었다. Docker 데몬이 제대로 실행되고 있는지 확인하려고 터미널에서 아래 명령어를 사용했지만 데몬 자체도 실행 중이지 않았다.docker info sw_vers 오류sw_vers는 macOS에서 시스템 버전을 확인하는 명령어→ cmd 창에서 'sw_vers'를 입력했을 ..
![[삽질록] 민감 정보의 환경변수 치환 후 테스트 실패 현상](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVxiwU%2FbtsJkvQb3Ol%2FGvqOAoKKgd1xC4ct8557j0%2Fimg.png)
🆘 문제상황// application.yamlspring: datasource: url: ${LOCAL_DB_URL} username: ${LOCAL_DB_USERNAME} password: ${LOCAL_DB_PASSWORD}@SpringBootTestclass ApplicationTests { @Test void contextLoads() { }}환경변수를 이용해 application.yaml안에 있던 민감 정보를 치환하여 보안성을 높였는데, 일부 스프링 부트 테스트가 실패한다.문제 원인@SpringBootTest 는 초기 테스트 환경을 구성하면서 프로퍼티 파일의 설정을 참고하기 때문⇒ 환경변수가 주입되지 않은 테스트 환경에서 @SpringBootTest 가 이를 ..
![[삽질록] Spring Security 인증 구현 하고 insert 테스트 오류 (AuditorAware)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbozL7h%2FbtsJjnxY9fB%2FJseDpEy2AuVHozKYNChzw1%2Fimg.png)
🆘 문제상황spring security로 인증을 구현 후 기존의 Test를 돌렸더니 insert 에서 에러가 발생했다.기존 코드/*단위 테스트에서는 spring 컨테이너를 사용하면 안된다.@DataJpaTest: repository 객체를 의존주입 받을 수 있게 해준다. | @Transactional 을 갖고있어서 테스트 이후 자동 롤백 가능 */@DisplayName("JPA 연결 테스트")@Import(JpaConfig.class)@DataJpaTestpublic class JpaRepositoryTest { @Autowired private PostRepository postRepository; @Autowired private PostCommentRepository postCommen..
🆘 문제상황@DisplayName("컨트롤러 - Post")@WebMvcTest(PostController.class) //MVC 관련 빈들만 로드함 - 테스트 실행이 빠르고, 메모리 사용량 적음 | 서비스, 리포지토리 등의 빈은 로드되지 않음class PostControllerTest { private final MockMvc mvc; //HTTP 요청을 모의(mock)하여 컨트롤러의 동작을 테스트 | 실제 웹 서버를 띄우지 않고도 컨트롤러의 요청-응답 흐름을 테스트할 수 있음 // 필드주입 @MockBean // ->MockBean이 생성자 주입 지원하지 않음 private PostService postService; // 생성자주입 PostControllerTest..
![[삽질록] DataIntegrityViolationException예외 해결 : AuditingFields → JpaConfig 설정하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0g1oW%2FbtsI4TpUisR%2FZskfwQepeBrxe9dBnvqdFK%2Fimg.png)
Jpa Auditing 이란?Spring Data JPA에서 누가, 언제에 대한 값을 자동으로 넣어주는 기능🆘 문제상황not-null property references a null or transient value : cohttp://m.project.sns.domain.Post.createdAtorg.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value : cohttp://m.project.sns.domain.Post.createdAt → JPA 연동 테스트를 진행하던 중에 위의 insert 테스트의 Post savedPost = postRepository.sa..
![[ERROR] (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlF860%2FbtrAxjrssXs%2Fw2jiUVQcKS4LIMZsir9eg0%2Fimg.png)
원래 프로젝트 클래스파일은 55.0 버전(11)으로 컴파일되어있지만현재 컴파일러 버전은 52.0(8) 이라서 로딩이 불가하다는 에러이다.즉, 전에 작업하던 내용이 더 높은 JDK에서 구동되었는데 지금은 더 낮은 JDK에서 구동되기때문에 생기는 문제이다.(나의 경우엔 실제로 배포할 서버의 자바버전은 SDK 1.8 이었고, 프로젝트의 자바 컴파일러 버전은 11 이었다)Java 버전Java SE 11 = 55Java SE 10 = 54Java SE 9 = 53Java SE 8 = 52Java SE 7 = 51Java SE 6.0 = 50Java SE 5.0 = 49JDK 1.4 = 48JDK 1.3 = 47JDK 1.2 = 46JDK 1.1 = 45해결방법Settings -> Build, Execution, ..