inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

패키지 구조에 대한 질문

미해결

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

요즘 가장 많이 쓰는 패키지 구조가 있죠. 아래와 같이 레이어끼리만 모아둔 과연 이것이 좋은 패키지 구조일까요? 더 좋은 코드를 위해 추천하는 패키지 구조나 레퍼런스가 있는지 여쭤보고 싶습니다.

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

findProductsBy 메소드에서 왜 Map 을 만들어 찾는지 잘 이해가 안됩니다

미해결

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

private List<Product> findProductsBy(List<String> productNumbers) { return productRepository.findAllByProductNumberIn(productNumbers); } 그냥 이렇게 바로 리턴 해도 되지 않나요??

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

MockBean Deprecated

해결됨

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

@MockBean 이 Spring Boot 3.4.0 버전부터 Deprecated 되었다고 경고를 띄워주는데요 이런 경우 @MockitoBean 을 사용하면 되나요?

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

디버깅 모드 무한 로딩

미해결

Playwright 기초 - 기초적인 활용법과 핵심 원리

네비게이션 테스트 작성하기 강의 수강 중에 디버깅 모드로 실행을 하면 무한 로딩이 되어 실행되지 않습니다. 원인이 무엇일까요?

  • 소프트웨어-테스트
  • playwright
  • e2e
워니스터디 댓글 0 좋아요 0 조회수 154

Playwright 디버그 모드

미해결

Playwright 기초 - 기초적인 활용법과 핵심 원리

첫번째 사진 두번째 사진 첫번째 사진은 초록색 화살표 표시가 생겨서 디버깅을 할 수 있는데, 두번째 사진은 새로고침, 종료 후 다시 실행 등등 다양한 방법을 시도했음에도 불구하고 초록색 화살표가 생기지 않아서 디버깅을 할 수 없습니다. Playwright Test for VSCode는 설치 했습니다. 원인이 무엇일까요?

  • 소프트웨어-테스트
  • playwright
  • e2e
워니스터디 댓글 1 좋아요 0 조회수 158

Mock & Stub 에 대한 이해

해결됨

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

두 가지 궁금증이 생겨 질문드립니다!! Mock과 Stub에서 혼란을 느끼는지? Mock & Stub 에 대한 이해를 하였는지? // OrderTest.java import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class OrderTest { @Test void 주문_총_금액을_계산한다() { Product apple = new Product("사과", 1000); Product banana = new Product("바나나", 2000); Order order = new Order(); order.addProduct(apple); order.addProduct(banana); assertEquals(3000, order.totalPrice()); } } // OrderTest.java import org.junit.jupiter.api.Test; import static org.mockito.Mockito.*; import static org.junit.jupiter.api.Assertions.*; public class OrderTest { @Test void 주문_총_금액을_계산한다_Product_Mock_사용() { Product apple = mock(Product.class); Product banana = mock(Product.class); when(apple.getPrice()).thenReturn(1000); when(banana.getPrice()).thenReturn(2000); Order order = new Order(); order.addProduct(apple); order.addProduct(banana); assertEquals(3000, order.totalPrice()); } } 두 테스트에서 생각을 정리하다 보니 저는 마틴 파울러의 test double의 stub 과 mock 에 대한 개념보다 TTD or BDD 스타일의 테스트 코드를 작성하다가 테스트의 편의성을 위해 Mokito을 통한 Mock 테스트 를 먼저 접하게 된 후 마틴 파울러의 test double의 개념을 접하게 되었습니다. 마틴 파울러의 Mock 과 Stub 테스트에서 혼란스러운 이유 테스트 코드를 작성하다보면 자연스럽게 then에 해당하는 부분 은 대부분 상태(값)을 검증하는 테스트 를 위주로 테스트 코드를 작성하게 되는거 같습니다. 주문_총_금액을_계산한다() -> 단위 테스트로 상태(값)을 검증 주문_총_금액을_계산한다_Product_Mock_사용() -> 나는 Mockito의 mock 테스트 로 상태(값)을 검증 test double stub -> 상태(값) 검증 mock -> 행동 검증 위 와 같이 상태(값) 을 검증하는 테스트를 하다보니 stub 테스트 와 Mockito 의 mock을 사용한 테스트 을 동일시 보게 된거같습니다. Mockito의 mock 테스트 의 개념과 test double의 mock 테스트 가 동일한 개념이 아니다. Mokito의 mock을 사용하여 상태(값)을 검증하는 테스트를 하다보니 test double의 stub 테스트 를 Mock 테스트 하였다라고 생각한게 아닌가? 테스트 케이스 stub 과 mock 테스트 구별하기 주문_총_금액을_계산한다() 해당 테스트는 실제 객체 를 이용하여 상태(값)에 대한 검증 을 한다. -> Stub 테스트 주문_총_금액을_계산한다_Product_Mock_사용() 해당 테스트는 Product 를 Mock 하여, order의 totalPrice 을 검증 한다. -> Mock?, Stub? 주문_총_금액을_계산한다_Product_Mock_사용()를 어떻게 바라 볼 것인가? test double의 mock 테스트를 준비 하였지만 검증 부분을 잘못하였다. test double의 stub 테스트를 실제 객체가아닌 가짜객체로 테스트 하였다. @Test void 주문_총_금액을_계산한다_Product_Mock_사용() { // given Product apple = mock(Product.class); Product banana = mock(Product.class); when(apple.getPrice()).thenReturn(1000); when(banana.getPrice()).thenReturn(2000); Order order = new Order(); order.addProduct(apple); order.addProduct(banana); // when int total = order.totalPrice(); // then verify(apple).getPrice(); // apple.getPrice()가 호출되었는지 검증 verify(banana).getPrice(); // banana.getPrice()가 호출되었는지 검증 } 주문_총_금액을_계산한다_Product_Mock_사용()를 위와 같이 수정한다면 test double에서 이야기하는 mock 테스트이지 않을까 생각이 듭니다. 물론 모든 테스트를 test double의 Mock, Stub 테스트라는 틀에 맞춰 작성해한다는 아니라고 생각이 듭니다. 주문_총_금액을_계산한다_Product_Mock_사용()가 마틴 파울러가 이야기하는 test double의 개념 에서 어떻게 생각해 볼 것인가? 에대한 궁금증 우빈님의 생각이 궁금 하기도 합니다. 제가 잘 이해를 하였는지 확인이 필요하여 질문드립니다.

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

리액트 라우터 관련

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 리액트 학습 중에 궁금한 게 있어서 질문드려요. 기본 path 가 아닌 라우트로 바로 접속을 할때, html을 받으면 라우팅이 이뤄지구 useeffect로 api 요청이 가면서 페이지 렌더링이 이뤄지는건가요?

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

Stub vs Mock을 설명하면서 예시가 이해가 안돼요.

미해결

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

안녕하세요, 6:13초 쯤에 Mock에 대한 예시로 앞에서 작성했던 "when 해서 sendMail 했을 때 파라미터 4개를 넘겨줬을 때 어떤 값을 리턴함" 을 말씀해주셨는데요, 이게 stub에 가까운게 아닌가란 의문이 들었습니다. 마틴 파울러의 글을 보면 Mock은 결국 호출 여부나 호출 횟수 같은 것을 검증하는 것 같더라구요. 뭔가 이해가 잘 안돼서 질문을 남깁니다. 감사합니다.

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

Appium Studio Comman 작성 후 다시 실행 오류

해결됨

쉬운 모바일 테스트 자동화 시작하기 : Appium Studio

Android 모바일 웹 테스트 강의를 듣고 테스트 케이스로 코드를 작성 후 다시 실행을 하면 위 사진과 같은 에러가 발생합니다. 원인이 무엇일까요?

  • ios
  • android
  • 소프트웨어-테스트
  • qa(품질보증)
  • appium-studio
워니스터디 댓글 1 좋아요 0 조회수 165

Appium Studio Emulator 연결 오류

해결됨

쉬운 모바일 테스트 자동화 시작하기 : Appium Studio

환경 변수 설정, 에뮬레이터 실행 모두 강의와 동일하게 진행했음에도 Appium Studio에서 에뮬레이터 디바이스 추가가 되지 않고 있습니다. 원인이 무엇일까요?

  • ios
  • android
  • 소프트웨어-테스트
  • qa(품질보증)
  • appium-studio
워니스터디 댓글 1 좋아요 0 조회수 178

Apppim Studio 시작 후 리포트 생성

해결됨

쉬운 모바일 테스트 자동화 시작하기 : Appium Studio

Appium Studio 실행 후 생성되는 리포트가 위 사진과 같이 index.html 로 생성되는데, Android - 모바일 웹 테스트 강의에서처럼 바로 웹 브라우저에서 실행되도록 하려면 어떻게 설정해야 할까요?

  • ios
  • android
  • 소프트웨어-테스트
  • qa(품질보증)
  • appium-studio
워니스터디 댓글 1 좋아요 0 조회수 117

Appium Studio 다운로드 주소

해결됨

쉬운 모바일 테스트 자동화 시작하기 : Appium Studio

Appium Studio 다운로드는 https://digital.ai/products/continuous-testing/appium-studio/free-trial/ 아래 링크에서 진행하면 될까요?

  • ios
  • android
  • 소프트웨어-테스트
  • qa(품질보증)
  • appium-studio
  • Appium
  • appiumstduio
워니스터디 댓글 1 좋아요 0 조회수 136

msa프로젝트에서 kafka, feignClient 테스트

미해결

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

안녕하세요~ 강의가 넘 좋습니다!! 넘 재밌게 잘 들었어요~ msa프로젝트에서 kafka, feignClient는 테스트를 어떻게 진행하는지 궁금합니다. (서비스단 테스트시 카프카를 mocking해서 테스트하는 것을 여쭙는게 아닙니당 ㅎㅎ) 저 자체는 테스트하지 않으시는지..? 실제로는 서비스 여러개 띄워놓고 메세지 발행이나 api 통신이 되는지 확인하고 있는데 테스트로도 할 수 있는 방법이 있나해서요. 현업에서는 어떻게 하는지 궁금합니다~

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

의존성 역전으로 해결한 외부의존성?

미해결

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

의존성과 Testability(2) 5분 10초 내용입니다. 사진과 같이 해결하면 결국 SystemClockHolder의 getMillis에는 Clock이라는 의존성이 숨겨진거 아닌가요? 그럼 이 getMillis 메소드를 테스트하기 힘들어진 게 아닌가요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
  • 외부의존성
  • 테스트
posin 댓글 1 좋아요 0 조회수 185

테스트 통과하면 천하무적?

미해결

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

@Test void calculateTotalPrice() { 위에 이미지 처럼 테스트에서 검증 후 , 아래처럼 public int calculateTotalPrice() { return beverages.stream().mapToInt(Beverage::getPrice).sum(); } 로 리팩토링 진행하셨는데 테스트코드에서 검증 통과받으면, 프로젝트 코드에서 리팩토링 된 부분은 천하무적 이라고 생각하면 되나요 ? 이때 발생하게 되는 변수는 없을련지,,,, 궁금합니다!

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
  • 박우빈
  • 클린코드
정예은 댓글 3 좋아요 0 조회수 240

경계값 테스트 케이스 세분화하기에 대해 궁급합니다!

미해결

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

안녕하세요 테스트 케이스 세분화하기 강의에서 // CafeKiosk.java public void add(Beverage beverage, int count) { if (count < 0) { throw new IllegalArgumentException("음료는 1잔 이상 주문하실 수 있습니다."); } for (int i = 0; i < count; i++) { beverages.add(beverage); } } 해당 메소드에 대한 단위테스트를 만드는데 궁금증이 생겨서 질문을 남겨봅니다. [질문] 경계값(0, -1)에 대해서도 테스트 케이스를 세분화해서 만들어야 되는건가? // 예시 // 경계값 0에 대한 테스트 함수 @Test void addZeroBeverages() { ... (생략) } // 경계값 -1에 대한 테스트 함수 @Test void addNegativeOneBeverages() { ... (생략) } 아니면 테스트 케이스 하나를 만들어서 그안에 값을 변경하면서 테스트해야되는건지 궁급합니다! // 예시 @Test void addZeroAndNegativeOneBeverages() { ... (생략) // 0값 체크 후 테스트 통과하면 1로 고쳐서 테스트 assertThatThrownBy(() -> cafeKiosk.add(americano, 0)) .isInstanceOf(IllegalAccessError.class) .hasMessage("음료는 1잔 이상 주문하실 수 있습니다."); }

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
카드캡터솔쨩 댓글 2 좋아요 0 조회수 146

좋은 설계

미해결

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

소형 테스트를 추구하며 테스트를 더욱 쉽게 바꿔보니 헥사고날 아키텍처가 되었고 이것이 테스트 코드를 쉽게 바꾸다보면 좋은 설계가 된다. 라는 것의 예시라고 봐도 될까요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
김준환 댓글 1 좋아요 0 조회수 200

Controller에 테스트

미해결

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

Controller에 테스트를 넣을 필요가 없다고 해주셨는데 실습에서는 넣은 이유가 있을까요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
김준환 댓글 1 좋아요 0 조회수 163

자동차 프로세스와 ASPICE 프로세스는 어떤점이 다른가요..?

해결됨

자동차 개발 프로세스 (ASPICE)

좋은 강의 너무 잘들었습니다. 자동차 프로세스라고 하면 (Model Fix, Proto, Pilot, MP, SOP...) 등이 있지 않나요,,? 해당 단계마다 하나씩 산출물이 나가야 하는데, SYS/SWE 단에서 말씀하시는 단계가 어떻게 대응되는건지 이해가 잘 되지 않습니다..!

  • 소프트웨어-테스트
  • software-design
  • automotive
주민철 댓글 1 좋아요 0 조회수 242

인기 태그

인프런 TOP Writers

주간 인기글