묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
@DataJpaTest에서 참조하는 Entity 관련 질문 있습니다
개발자 선배님들 안녕하세요. @DataJpaTest 관련해서 궁금한점이 생겨서 질문드립니다. 제가 작성한 User Entity에서 Address Entity를 FK로 참조하고 있습니다. 여기서 UserRepository의 테스트 코드를 작성할 때 AddressRepository도 @Autowired로 등록 후 Address를 먼저 save()로 insert 후에 User Insert 테스트를 작성해야 하나요??? 이러면 UserRepository의 테스트가 아니라 UserRepository, AddressRepository 두개의 테스트를 작성하는 것이라 좀 이상하다고 생각이 드네요.. 제가 작성한 코드입니다. package com.kh.bookfinder.repository; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import com.kh.bookfinder.entity.Address; import com.kh.bookfinder.entity.User; import com.kh.bookfinder.entity.UserStatus; import jakarta.persistence.EntityManager; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; @ActiveProfiles("test") @DataJpaTest @TestPropertySource(locations = "classpath:application-test.properties") @AutoConfigureTestDatabase(replace = Replace.NONE) public class UserRepositoryTest { @Autowired UserRepository userRepository; @Autowired AddressRepository addressRepository; Address givenAddress; @BeforeEach public void setup() { givenAddress = Address.builder() .si("서울특별시") .gu("강남구") .dong("역삼동") .roadFullAddress("역삼역") .build(); addressRepository.save(givenAddress); } @Test public void userInsertTest1() { // Given: User가 주어진다. User givenUser = User.builder() .email("user@mail.kr") .password("password") .phone("010-1234-5678") .nickname("nickname") .status(UserStatus.ADMIN) .address(givenAddress) .build(); // When: save() 메서드를 호출하여 User를 저장한다. User actual = this.userRepository.save(givenUser); // Then: actual은 givenUser와 같다. assertThat(actual).isNotNull(); assertThat(actual).isEqualTo(givenUser); } @Test @DisplayName("email은 unique로 중복이 불가능하다") public void userInsertTest2() { // Given: email이 같은 User가 2개 주어진다. User givenUser1 = User.builder() .email("user@mail.kr") .password("password") .phone("010-1234-5678") .nickname("nickname") .status(UserStatus.ADMIN) .address(givenAddress) .build(); User givenUser2 = User.builder() .email("user@mail.kr") .password("password2") .phone("010-5678-1234") .nickname("nickname2") .status(UserStatus.ADMIN) .address(givenAddress) .build(); // When: save() 메서드를 호출하여 givenUser1를 저장한다. User actual = this.userRepository.save(givenUser1); // And: save() 메서드를 호출하여 givenUser2를 저장한다. // Then: Exception이 발생한다. assertThatThrownBy(() -> this.userRepository.save(givenUser2)) .isInstanceOf(DataIntegrityViolationException.class) .hasMessageContaining("Duplicate"); } @Test @DisplayName("nickname은 unique로 중복이 불가능하다") public void userInsertTest3() { // Given: email이 같은 User가 2개 주어진다. User givenUser1 = User.builder() .email("user@mail.kr") .password("password") .phone("010-1234-5678") .nickname("nickname") .status(UserStatus.ADMIN) .address(givenAddress) .build(); User givenUser2 = User.builder() .email("user2@mail.kr") .password("password2") .phone("010-5678-1234") .nickname("nickname") .status(UserStatus.ADMIN) .address(givenAddress) .build(); // When: save() 메서드를 호출하여 givenUser1를 저장한다. User actual = this.userRepository.save(givenUser1); // And: save() 메서드를 호출하여 givenUser2를 저장한다. // Then: Exception이 발생한다. assertThatThrownBy(() -> this.userRepository.save(givenUser2)) .isInstanceOf(DataIntegrityViolationException.class) .hasMessageContaining("Duplicate"); } } 읽어주셔서 감사합니다..!
-
미해결중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
AWS Paramater store 실습도중 Error: creating SSM Parameter (test-key): 에러 발생
AWS Paramater store 실습도중 Error: creating SSM Parameter (test-key): 에러가 발생하여 질문 남깁니다. test-key.tf 파일에서ssm_parameter_key_id = "alias/deployment-common"내용에서 에러가 나는거 같습니다. 그래서 아래와 같이 keyid 값으로 변경하니 에러가 안나고 ssm 생성도 잘됩니다.ssm_parameter_key_id = "f5144bdc-2350-447a-a2f7-8473e0f3b4dc" terraform 문서에서도 key_id 값을 KeyID 또는 ARN을 명시하라고 나와 있는데요, 어떤것이 맞는건지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
성공 상태가 맞을가요?,.,
만약에 어떤 사람이 주문을 한적이 없어서..주문 조회 api 결과가 정상적으로 다 수행됬지만.. 아무것도 없는 경우에는 클라이언트에게 적절한 결과 코드는 무엇일까요..200일까요 아니면 다른 코드일까요보통 어떻게 되는지 궁금합니다..
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
선생님이랑 똑같이 적었는데 저는 왜 오류가 날까요?ㅠ
안녕하세요! 차근차근 잘 보고 있습니다.선생님이랑 똑같이 따라하고 있는데 저는 자꾸 에러가 나서요ㅠㅠ".logo_naver"가 없어진거 같아서 다른걸 붙여서 했는데도 오류가 나는데 뭐가 잘못된 걸까요ㅠㅠㅠㅠ답변이 선생님이랑은 다르게 이렇게 나와서요ㅠㅠ똑같이 따라하는데 뭐가 잘못된 건지 모르겠어요ㅠㅠ
-
미해결
강의 배속이 2배속이었다가 2배속 초과
2배속까지 되다가 어느 시점부터 2.25 2.5 2.75 3배속이 풀리는데왜 처음부터 3배속을 할 수는 없는건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
왜 2개 인가요...? 22:12
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]TeamA, TeamB, TeamC를 persist했는데...jpql이 select t from Team t를 하게 되면 teamA , B, C나와서 3개 아닌가요?
-
미해결스프링 부트 - 핵심 원리와 활용
외부파일 질문
[질문 내용]application.properties가 윈도우환경에서는 무슨 파일로 저장해야하나요?텍스트 문서파일로 저장하고 그 안에 내용을 쓰니 빌드하면 이렇게 나옵니다2024-04-23T20:52:12.297+09:00 INFO 2056 --- [ main] hello.EnvironmentCheck : env url=null2024-04-23T20:52:12.299+09:00 INFO 2056 --- [ main] hello.EnvironmentCheck : env username=user2024-04-23T20:52:12.300+09:00 INFO 2056 --- [ main] hello.EnvironmentCheck : env password=null2024-04-23T20:52:12.436+09:00 INFO 2056 --- [ main] hello.ExternalApplication : Started ExternalApplication in 1.65 seconds (process running for 2.338)
-
해결됨개발자를 위한 쉬운 도커
docker 실행시 네트워크 질문
강사님 강의 잘 듣고 있습니다.docker 컨테이너 실행시, --network 옵션으로 네트워크를 지정해주지 않으면 디폴트로 'bridge' 라는 네트워크에 컨테이너가 실행되는건가요?? network 리스트에서 'bridge'라는 name을 찾아서 기본값으로 사용하는걸까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
form관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]질문이 있습니다 제가 회사에서 부트를 사용해서 타임리프 관련해서 학습하고 사용 할려고 하는데 form을 사용해서 action 을 하는게 아닌 거의다 js를 통해 ajax를 사용하는 등 거의 js를 통해 서버와 통신하는 방법을 사용하고 있습니다.이럴 때 타임리프에서 th:object 옵션을 사용할 방법이 따로 없을까요? html에서 form을 사용하지 않는 이상?
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
pd.Series
랜덤포레스트와 그래디언트부스팅 강의에서 마지막에 FEATURE importance를 pd.series로 하는 과정이 나오는데, 그래프를 그리기 전 이 과정이 왜 필요한 건가요? 감사합니다!
-
미해결김영한의 실전 자바 - 중급 1편
타입추론 질문
자바에서 var 키워드 써서 타입추론하는 방식은 비추천 하시나요??
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
S3에 업로드까지는 성공했는데 사진이 나오지 않습니다.
작성한 코드https://github.com/Parkdev/myfirstnest 업로드 완료 후 결과 링크https://devpark-awsnestcat.s3.ap-southeast-2.amazonaws.com/cat/1713862948347_1.jpeg 업로드 완료까지는 성공하였으나, 업로드 한 사진이 파일이 깨져서 올라가고 있습니다. 어디가 잘못되었는지 잘모르겠네요. 도와주세요.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling
feature scaling에서 X_test는 fit_transform이 아니라 transform만 해야한다고 하셨는데요! (logistic regression 실습 18분 부근) 어차피 X_train과 평균과 표준편차가 동일할 거라는 건 이해가 되지만, 미래 값인 X_test의 평균/표준편차를 구할 순 없다는 말씀은 이해가 잘 되지 않습니다 ㅠㅠ, 그리고 어차피 동일하다면 X_test에 fit_transform을 해도 같은 결과가 나와야 하는 거 아닌가요? 늘 감사합니다!
-
미해결따라하며 배우는 리액트 테스트 [2023.11 업데이트]
ERROR
App.js파일을 refresh 하면 이렇게 error가 뜨네요 ㅜㅜ 해결책을 아무리 찾아봐도 나오질 않습니다 . .
-
해결됨프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
10강 패키지 설치 시 에러가 나네요.
(오늘은 뭔가 할때마다 오류가 나네요. ㅡㅡ;;)pdf-bot 프로젝트 만들고 패키지를 설치하려고 하니 오류가 나네요... Could not find a matching version of package lanchain뭐를 확인해 보면 될까요?강의에서 하라는대로 하긴 했는데..
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
강의 교안
강의 교안은 없는 건가요? 못잧겠어요. 어느경로에 있나요 ?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
게이트웨이와 라우터
게이트웨이 가 L2 -> L3 라우터 link up 해주는 라우터로 이해를 했는데 다른건가요?서브넷 마스크 할당이 최대 254개라 하셨는데, 게이트웨이 하나당 연결되는 컴퓨터는 L2 엑세스 스위치, L2 분배 스위치 포함해서 254개를 하위로 할당되는건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
매핑이 잘 안되는거 같아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.영학님이 주신 걸로 하면 버전이 안맞아서 커뮤니티 글에 있는 17버전을 새로 만들어서 영학님이 주신 form에 내용을 main하고 resources를 바꿔서 실행 하는데 서버도 열리고 잘 되는데 이상하게 이런 현상이 떠서 질문을 드립니다이렇게 뜨고 상품관리 를 누루면이렇게 뜨는데 위에 basic을 form으로 바꾸면 잘 뜨고 다른 기능도 잘 됩니다.그런데 할때 마다 계속 바꿔야 하니 문제를 찾아 보고 있는데 resources에 index.html도 확인 했는데 basic이 쓰인 곳도 없고 FormController 부분에도 basic을 반환 하는 부분도 없는데 프로그램 코드안 에서도 basic을 반환 하는 부분이 어디에도 없는데 뭐 때문에 그런지 잘 모르겠습니다. 재가 미숙해서 잘 못 찾는것도 있지만.. 배운다는 생각으로 충고 주시면 잘 배우겠습니다
-
해결됨Flutter로 SNS 앱 만들기
섹션 7에서 게시글 이미지 슬라이드 기능 추가를 보고있어요
섹션 7에서 게시글 이미지 슬라이드 기능 추가를 보고있어요이미지 말고 동영상을 넣고 싶은데 그거는 어떻게 하면 됩니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
11. 임시반장 정하기
59 8 7 6 55 6 7 8 91 2 3 7 84 5 3 4 26 2 8 4 2 이예제의 답이 왜 3번학생인가요 4번학생이이 제일 많이 겹치는거 아닌가요?