inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

도메인 객체 질문

미해결

Java/Spring 주니어 개발자를 위한 오답노트

심폐소생술 PPT처럼 Presentation, Business, Domain, Persistence로 나눈다고 하면 @Entity가 붙은 Class는 Persistence에 두고 @Entity가 붙지 않은 Domain Class는 Domain에 둬서 클래스를 2개를 만드는 건가요? 예를 들어 아래 MemberEntity는 Persitence Package에 위치하고 @Entity public class MemeberEntity { ... } public class MemberDomain { .. MemberDomain은 Domain Package에 위치하게 해서 Service Class에서 Repository를 이용해서 MemberEntity를 가져온 다음에 MemberEntity를 MemberDomain으로 변환한 다음에 비즈니스 로직을 작성하면 되는건가요?

  • java
  • spring
  • 객체지향
  • 소프트웨어-테스트
fbfbf1 댓글 2 좋아요 1 조회수 603

Order 관련 @Query 메서드 방식 문의

미해결

Practical Testing: 실용적인 테스트 가이드

안녕하세요! 강의 듣는 도중 해결이 안되는 부분이 있어서 문의드립니다. Mockito로 stubbing하기 강의 듣는 중인데요, 첨부파일과 같이 OrderRespository에서 @Query 메서드 방식으로 JPQL 구문 입력하였는데 Order에서 빨간줄로 컴파일 에러가 발생해서요.. 해당 메서드 호출하면 Order is mapped 라는 에러 메시지가 나옵니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
개발자 댓글 2 좋아요 1 조회수 555

cors 테스트 addExposedHeader("Authorization); 안해줘도 토큰 값이 받아집니다.

해결됨

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

SecurityConfig에 아래 코드를 추가해야 configuration.addExposedHeader("Authorization"); JwtToken 값을 받을 수 있다고 하셨는데요. 해당 라인을 추가 안해도 JwtToken 값이 찍히고 로컬 스토리지와 세션 스토리지에 토큰값이 들어가지네요. 굳이 추가 안해도 되는건가요?

  • spring-boot
  • junit
  • 소프트웨어-테스트
고리오영감 댓글 1 좋아요 0 조회수 890

Stream 잘하고 싶어요

미해결

Practical Testing: 실용적인 테스트 가이드

안녕하세요 강의 잘 듣고 있습니다. 저도 우빈님처럼 람다, 스트림을 잘 쓰고 싶습니다! 어떻게 공부하면 좋을지 알려주실 수 있나요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
ILoveBackEnd 댓글 1 좋아요 0 조회수 541

1편과 2편의 차이점?

미해결

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

2편을 먼저 구매하여 수강중입니다. 1편과 겹치는 내용이 많다고 하셨는데, 1편을 보면 2편과는 다른 무언가를 얻을 수 있나요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
정성훈 댓글 2 좋아요 2 조회수 1209

Fixture 사용에 있어서...

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 이렇게 사용해도, 하나의 도메인에 여러 Builder Fixture가 생기게 될까요? public class Fixture { public static ProductBuilder aProduct() { return Product.builder() .productNumber("001") .name("아메리카노") .price(1000) .type(ProductType.HANDMADE) .sellingStatus(ProductSellingStatus.SELLING); } } final LocalDateTime registeredDate = LocalDateTime.now(); final Product product1 = createProduct(ProductType.HANDMADE, "001", 1000); final Product product2 = createProduct(ProductType.HANDMADE, "002", 3000); final Product product3 = createProduct(ProductType.HANDMADE, "003", 5000); final Product product4 = Fixture.aProduct().productNumber("004").price(7000).build();

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
Joe Hidden 댓글 2 좋아요 0 조회수 675

@AfterEach 에서 tearDown 할 경우

미해결

Practical Testing: 실용적인 테스트 가이드

안녕하세요! 좋은 강의 감사드립니다. 많은 도움이 되었어요. 한 가지 궁금한 점이 있는데요. 실무를 하면서 개발용 DB에 이미 다른 테스트용 row 가 저장되어 있을 때 tearDown으로 deleteAllInBatch 를 사용하게 되면 해당 테스트에서 추가된 데이터뿐만 아니라 모든 데이터가 전부 삭제되는 것으로 알고 있는데 이러한 상황을 원치 않는다면 직접 하나하나 수동 삭제해 주거나 Transactional 롤백을 사용하고 계신지 궁금합니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
jungkh405 댓글 2 좋아요 0 조회수 509

컨트롤러에서 api/admin 으로 왔을 때 처리하는 원리가 궁금해요

미해결

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

안녕하세요 초보 개발자 입니다. 강의 너무 잘 듣고 있어요! 궁금한 점이 있어서 질문 드립니다. security 필터를 다 거치고 Controller에서 주소가 api/admin이면 Authentication객체의 role이 ADMIN인지 확인 한다고 하셨는데, securityConfig의 antMatchers("/api/admin/**").hasRole("" + UserEnum.ADMIN) 이부분에서 설정 했다고 생각합니다. 궁금한 점이 꼭 Authentication객체에서 ADMIN을 가지고 있는 변수의 이름이 꼭 role이여야만 가능 한걸까요? security에서 api/admin이 나오면 Authentication객체 내부에서 role이란 이름을 가진 변수를 찾아보는 걸까요? 아니면 해당사항을 설정한 사항이 따로 있었을까요? 답변 감사합니다!

  • spring-boot
  • junit
  • 소프트웨어-테스트
박현철 댓글 2 좋아요 1 조회수 410

파일 옆에 "100%클래스, ..." 라는 문구 뜨게 하는 방법

해결됨

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

강사님 처럼 위 사진처럼 파일 옆에 "100% 메서드, ..." 와 같은 문구를 프린트 하고 싶은 어떤 플러그인 사용중 이신 지 알 수 있을까요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
HanKyul Kim 댓글 3 좋아요 3 조회수 766

6-1 @Query 부분

미해결

Practical Testing: 실용적인 테스트 가이드

org.springframework.dao.InvalidDataAccessApiUsageException: 에 대해서 ... org.springframework.dao.InvalidDataAccessApiUsageException:,For queries with named parameters you need to use provide names for method parameters.,Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.;,nested exception is java.lang.IllegalStateException:,For queries with named parameters you need to use provide names for method parameters.,Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters. 강사님은 아래와 같이 @Param 을 붙여주지 않았는데도 에러가 안나셨는데 혹시 어떤 설정을 제가 놓친걸까요 .. ? @Repository public interface OrderRepository extends JpaRepository<Order, Long> { @Query("select o from Order o where o.registeredDateTime >= :startDateTime" + " and o.registeredDateTime < :endDateTime" + " and o.orderStatus = :orderStatus") List<Order> findOrdersBy(@Param("startDateTime") LocalDateTime startDateTime, @Param("endDateTime") LocalDateTime endDateTime, @Param("orderStatus") OrderStatus orderStatus); }

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
제트브레인 댓글 2 좋아요 0 조회수 638

curl -X 매개변수를 찾을 수 없습니다

미해결

테스트주도개발(TDD)로 만드는 NodeJS API 서버

윈도우 11에서 강의를 수강중입니다. Hello World를 찍기위해 curl -X GET ' localhost:3000 '을 하면 아래와 같이 뜹니다. cs의 터미널, 파워쉘에서 했을 때 똑같이 이렇게 뜨고 크롬에서 localhost :3000으로 했을 때 Hello World가 찍히는걸 보면 실행은 제대로 되었는데 왜 이렇게 뜰까요? 구글링 해도 잘 나오지 않아 질문합니다. curl -X GET 'localhost:3000' Invoke-WebRequest : 매개 변수 이름 'X'과(와) 일치하는 매개 변수를 찾을 수 없습니다. 위치 줄:1 문자:6 + curl -X GET 'localhost:3000' + ~~ + CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

  • node.js
  • express
  • tdd
  • rest-api
  • 소프트웨어-테스트
mia.gh 댓글 1 좋아요 0 조회수 2224

클라우드 환경에서 테스트할 때 디비 사용법이 궁금해요

미해결

Practical Testing: 실용적인 테스트 가이드

GitHub Actions을 사용하여 우분투 가상환경 위에서 스프링 부트 프로젝트를 빌드할 일이 있었는데요. 빌드 과정에서 테스트를 실행하는 단계가 있더라구요! application-test.yml에서 사용할 db의 정보를 지정하는 부분에 로컬 호스트 디비를 사용했는데 우분투 가상환경에서 테스트가 수행되다보니로컬호스트 디비와 연결하는 과정에서 커넥션 에러가 뜨더라구요 ㅠㅠ 이런 경우에선 테스트 환경에서 인메모리 디비를 사용해야 하나요..??어떤 방법이 최선인지 궁금해서 질문 남기게 되었습니다!

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
Kimyubi 댓글 2 좋아요 0 조회수 717

'외부 계층으로 분리한다'는 말이 궁금합니다.

해결됨

Practical Testing: 실용적인 테스트 가이드

강의에서 LocalDateTime.now() 를 파라미터로 받게끔 해서 분리하는 걸 예시로 들어주셨는데요. '테스트하기 어려운 영역을 외부 계층으로 분리한다'는 말씀이 위 예시처럼 파라미터로 받게끔한다는 것인가요? 외부 계층이라는 말이 잘 이해되지 않아서 질문드립니다! 테스트하기 어려운 메서드를 호출하는 상위 레벨의 메서드를 외부 계층이라고 하는 것 일까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
재영 댓글 1 좋아요 0 조회수 523

DTO 분리에 관련된 질문이 있습니다.

미해결

Practical Testing: 실용적인 테스트 가이드

안녕하세요. 강의 잘 듣고 있습니다. 만약에 Service를 Write / Read 로 나눠서 관리를 한다고 하면 Service 패키지쪽의 DTO도 나눠서 생성을 하시나요? 아니면 그 부분은 같이 사용하시는 편인가요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
조재연 댓글 1 좋아요 0 조회수 531

사용자로 하여금 어떻게 JWT를 헤더에 포함하게 하나요?

해결됨

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

jwt 부분을 다 듣고 아래 테스트 수업 듣는 중입니다. 사용자 로그인 시에 우리가 jwt를 발급하고, 사용자가 매 요청마다 이걸 가져오면 검증하는 건 이해가 됐습니다. 그러다 문득 궁금해진 게, 저희가 테스트할 때는 포스트맨을 통해 헤더의 Authorization에 토큰을 직접 넣어주었습니다. 하지만 실제 어플리케이션에선 사용자가 직접 이 작업을 하지는 않죠. 그렇다면 사용자 요청 헤더의 Authorization에 토큰을 포함해야 하는 건 서버 측에서 해야할 일 같은데 이에 대한 강의는 없는 것 같습니다. 혹시 자세하게는 아니라도 대충 어떠하게 흘러가는 지 알려주실 수 있을까요??

  • spring-boot
  • junit
  • 소프트웨어-테스트
foodsmith96 댓글 2 좋아요 0 조회수 1259

데이터가 2번 호출되는 문제

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

동일하게 코드를 작성해보았는데 fetchPosts 함수가 2번 실행되어 포스트 리스트에 데이터가 2번 중복으로 들어갑니다. 강의에서도 19분 12초를 보니 2번 호출이 되는 것으로 보입니다. useEffect(() => { dispatch(fetchPosts()); }, [dispatch]); 이 부분이 2번 실행되는 문제 같아서 버튼 클릭할 때 fetchPosts 함수를 dispatch하는 방식으로 바꾸었더니 데이터가 1번만 요청됩니다. const handleClick = () => { dispatch(fetchPosts()); }; useEffect를 사용해서 페이지 접속 시 자동으로 데이터가 1번만 호출되게 하고 싶은데 어떻게 수정해야 할까요? useEffect(() => { dispatch(fetchPosts()); }, []); 이렇게 수정해도 2번 실행됩니다..ㅠㅠ

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
당황한 공작새 댓글 1 좋아요 0 조회수 409

인자값을 LocalDateTime을 전달받는 경우 통합테스트에서는 어떻게 처리 되나요?

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 강의를 열심히 보고 있는 수강자입니다. 다름이 아니라 이번 강의를 보면서 궁금한 점이 있는데요! LocalDateTime을 인자값으로 전달받아 단위테스트하기 좋게 리팩토링하셨는데, 나중에 createOrder를 호출하는 객체의 통합테스트 를 진행할때는 시간에 대한 테스트코드를 어떻게 처리하는지 궁금합니다. 예를 들어 CafeKioskRunner에서 main 메서드를 통합 테스트한다고 했을 때 시간에 따라 createOrder에서 성공 또는 exception이 발생할 것 같아서 이것에 대한 통합테스트를 어떻게 처리하는지 궁금합니다. 감사합니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
drrg9211 댓글 1 좋아요 0 조회수 547

수강 내용 포스팅 관련 질문 드립니다.

미해결

Practical Testing: 실용적인 테스트 가이드

평소에도 기록하는 습관이 있어 개발자로서 학습을 진행하거나 개발자로서 무언가 했던 행동들을 포스팅하여 기록해나가고 있는 신입개발자입니다. 혹시 강의 관련해서 수강한 내용을 바탕으로 강의 출처 및 링크 남기고 포스팅을 해도 되는지 질문 드립니다. 강의 내에서 사용한 이미지나, 코드 같은 것들은 사용하지 않고 테스트에 관련되어 강의 해주신 개념이나, 샘플 소스는 따로 공부한 내용을 바탕으로 제작하여 포스팅 할 예정입니다. 불가능하다면 노션으로 기록하여 PDF 보관할 예정입니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
mag1c 댓글 1 좋아요 0 조회수 306

Business Layer(3) 51:56 에 단축키 질문드립니다.

해결됨

Practical Testing: 실용적인 테스트 가이드

안녕하세요 선생님! 51:56 쯤에 쓰시는 일정범위로 스크롤하시면서 select 하는 단축키가 어떤 건지 여쭤보고 싶습니다! 강의 화면에 단축키가 안 뜨고, Intellij Keymap 에서 Selection 관련해서 계속 찾아봤는데도 잘 안 보이네요 🥲 좋은 강의 감사드립니다 :)

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
동해물과백두산이마르고닳도록 댓글 1 좋아요 0 조회수 662

axios 설치 오류

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

안녕하세요! npm install axios --save 명령어로 axios를 설치하였는데 이런 문구가 나왔습니다. 혹시 설치가 안된것인가요? 그 이후에 수업을 진행하여 "이미지 배너 만들기" 수업을 듣고 코드를 작성 후 실행을 하니 영화에 정보가 나오지 않고 이런 오류들이 나옵니다. api 키도 사이트에서 잘 가져왔는데.. 혹시 axios 설치가 안되어서 나오는 오류 일까요?

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
koara1025 댓글 1 좋아요 0 조회수 1786

인기 태그

인프런 TOP Writers

주간 인기글