묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Practical Testing: 실용적인 테스트 가이드
헥사고날 아키텍처 질문 있습니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. jpa와 너무 강하게 결합되어 있어 repository 인터페이스를 만든다고 하셨는데그러면 1. repository 인터페이스2. 1의 repository 인터페이스를 구현한 repositoryimpl3. 2의 repositoryimpl에서 사용할 jparepository 이렇게 세 개나 만들어서 사용하는건가요?
-
해결됨쉬운 모바일 테스트 자동화 시작하기 : Appium Studio
로그인 버튼 클릭 안되는 이슈
안녕하세요 강사님현재 Appium studio 테스트 중 로그인 버튼이 클릭 안 되는 이슈가 있어 문의드립니다.하기의 캡처된 화면으로는 로그인 버튼이 초록을 테두리속에 있어야 정상적으로 버튼을 찾는거 같은데 현재 테두리와 버튼이 일치 하지 않습니다.이런 이슈는 모바일 해상도의 문제 인 건지 그리고 어떻게 이슈를 처리해야 하는지 문의드립니다.감사합니다.
-
해결됨2시간으로 끝내는 프론트엔드 테스트 기본기
'toBeInTheDocument'오류 문의
안녕하세요 강의 잘 듣고 있습니다수강하면서 실습을 위해 올려주신 깃헙을 클론해서 각종 라이브러리 설치 후 실행하는데 jest-dom라이브러리를 인식을 못하는 건지 계속 다음 부분에서 오류가 나서 테스트가 실패하네요 클론 후 코드 수정 등은 한 것이 없는데 무엇이 문제일까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
수업 외 질문입니다. test profile
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. JPA 가 아니더라도 Mybatis 환경이나 등...실무에서Junit Test를 할때 test profile 환경을 따로 구성해서 하나요?원본 데이터의 훼손을 방지하고자 하는건가요?
-
미해결실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
2부 할인쿠폰 관련
안녕하세요.제공해주신 인강으로 프론트엔드 테스트를 공부하고 있는 수강생입니다. 최근 일이 많아져 인강 듣는 시간을 할애하지 못하였지만 이번 설 연휴를 맞이하여 1편 다보고 2편까지 보려고 하는데 제가 실수로 할인 쿠폰을 발급 받았다가 사용하지 못하고 유효기간이 지나 버렸는데 재발급을 할수 있는 방법이 있는지 문의드립니다!
-
미해결테스트 with Jest: 제로초에게 제대로 배우기
제로초님 강의 교안을 볼 수 있는 곳이 있을까요?
강의 듣다 교안도 함께 보고싶어서 문의 드려요~
-
해결됨SW 역량테스트 합격하기 A형 with C++ (Advanced Algorithm)
BOJ 2234 성곽 문제 코드에서 질문 있습니다.
안녕하세요 선생님 강의 너무 잘보고 있습니다 !다름이 아니라 BOJ 2234번 성곽 60번째 줄에서 질문이 있습니다.open을 판단할때 양쪽 모두 확인하는 이유가 있을까요? 한쪽에서만 확인하면 오류가 생기는 경우가 있는지 궁금합니다.
-
해결됨쉬운 모바일 테스트 자동화 시작하기 : Appium Studio
가상 Device에서 App 설치시 생기는 에러 팝업 해결 문의
Android studio 에서 가상 device를 설정 한뒤 Appium과 연결 한 후 Experibank를 install 해보려고하는데 에러 팝업이 발생하여 Android studio의 SDK Manamger > API LEVEL 확인시 34, 24, 14 다 체크표시로 확인 되는데 제가 여기서 추가적으로 설치하거나 확인 해야 하는게 있을까요? 에러팝업 문구 내용: The application installation on the device sdk_gphone 16k_x86_64 has failedfailed to install application:INSTALL_FAILED_DEPRECATED_SDK_VERSION:App package must target at least SDK Version 24, but found 14
-
미해결Practical Testing: 실용적인 테스트 가이드
서비스계층에 @transactional을 붙이면 성능이 감소하지 않나요?
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 강의에서 OrderService에 @transactional처리를 하는데 이렇게 되면 성능이 감소하지 않나요? 현업에서는 이 성능 감소를 감수하고도 데이터정합성 및 롤백을 위해 트랜잭션을 하는건가요? 감사합니다
-
미해결테스트 with Jest: 제로초에게 제대로 배우기
jest.fn()으로 모킹 함수를 만들어 expect() 할 경우 undefined 출력됩니다
안녕하세요현재 vue3로 구현된 프로젝트 내로그인 성공 시 utils.js의 method3이 호출되는지 테스트를 하려고합니다method3을 모킹함수로 대체하였는데로그인 로직 내 method3을 콘솔로 찍어보면 undefined이 나와서 질문드립니다.왜 method3이 undefined 가 나오는지 알려주실 수 있으실까요? 아래는 테스트 하기 위한 과정입니다.1. 로그인 로직 중 utils.js의 method3을 호출하는 코드 존재util.jsexport const method1 = () => { ... } export const method2 = () => { ... } export const method3 = () => { ... }2. method3을 모킹 함수로 대체하려고 함3. utils.js 파일이 위치하는 곳에 mocks 폴더를 만들어 아래와 같이 코드 작성export default { ...jest.requireActual('../util'), method3: jest.fn() }4. 로그인 테스트 파일을 아래와 같이 작성login.spec.js(테스트할 파일)jest.mock('../common/util.js') import { setActivePinia, createPinia } from 'pinia' import * as fns from '../../common/util' import { login } from '../../api/loginApi' import { loginUser } from '../../store/authStore' describe('로그인', ()=>{ // userStore 내 loginUser 함수를 호출하기 위한 셋팅 let userStore beforeEach(()=>{ setActivePinia(createPinia()) userStore = useAuthStore() }) test('로그인 성공 시 성공 메시지 출력', async () => { // 로그인 성공 시 로그인한 사용자 정보 반환 const mockResponse = { status : 200, data: { data: { userName: 'test1' } } } // 로그인 요청 api를 모킹함수로 대체 await login.mockResovedValue(mockResponse) // loginUser는 로그인 성공 시 유저 정보를 상태관리 변수에 저장 await userStore.loginUser({userId : 'test1', password : 'test1pw'}) expect(fns.method3).toHaveBeenCalled() }) }) 5. expect 부분에서 아래와 같이 오류 메시지가 발생합니다expect(received).toHaveBeenCalledWith(...expected) Matcher error: received value must be a mock or spy function Received has value: undefined
-
미해결Practical Testing: 실용적인 테스트 가이드
Static한 Utill성 클래스는 어떻게 테스트 할 수 있나요?
개발을 하다보면 utill성 클래스도 테스트하고 싶은데 배운거는 spring을 띄워서 테스트 하는데 static도 비슷하게 작성하면 되는건지 아니면 이것도 private에서 이야기 하신거처럼 신경 안써도 되는 부분일까요? 좀 더 좋은 방법이 있을거 같아서 여쭤봅니다
-
미해결테스트 with Jest: 제로초에게 제대로 배우기
jest-extended 설정 중 TypeError
호출 순서 테스트, Mock 객체, jest-extended 강의 내용에서 나온 jest-extended를 사용해보고 있는데요. 테스트가 실패하진 않지만 IDE에서 타입 에러가 나면서 자동완성이 되고 있지 않은 상황입니다 ㅠㅠ 시도해본 IDE 환경은 VSCode, Webstorm 이고 둘다 에러가 나고 있습니다.해당 이슈 겪어보신 분 계실까요? // global.d.ts import "jest-extended"; // tsconfig.json { "files": ["global.d.ts"] }// testSetup.js const matchers = require("jest-extended"); expect.extend(matchers);// jest.config.js /** @type {import('ts-jest').JestConfigWithTsJest} **/ export default { testEnvironment: "node", transform: { "^.+.tsx?$": ["ts-jest", {}], }, setupFilesAfterEnv: ["./testSetup.js"], };에러나는 테스트코드 파일:test("first > second > third (jest extended)", () => { const spy1 = jest.fn(first); const spy2 = jest.fn(second); const spy3 = jest.fn(third); spy1(); spy2(); spy3(); expect(spy1.mock.invocationCallOrder[0]).toBeLessThan( spy2.mock.invocationCallOrder[0] ); // toHaveBeenCalledBefore 함수를 타입스크립트 컴파일러가 인식하지 못함 expect(spy1).toHaveBeenCalledBefore(spy2); expect(spy3).toHaveBeenCalledAfter(spy2); }); jest의 matchers 는 인식하지만, jest-extended 의 matchers 들은 인식하지 못하는 상태입니다.(+그런데 한 가지 특이한 건, vscode 기준으로 testSetup.js 파일을 같이 띄워놓으면 타입 에러가 사라집니다...)
-
해결됨2시간으로 끝내는 프론트엔드 테스트 기본기
nock에서 에러가 발생합니다
Test suite failed to run ReferenceError: TextEncoder is not defined 1 | 2 | import "@testing-library/jest-dom"; > 3 | import * as nock from "nock"; | ^ 4 | import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; 5 | import { 6 | fireEvent, at Object.<anonymous> (node_modules/@mswjs/interceptors/src/utils/bufferUtils.ts:1:17) at Object.<anonymous> (node_modules/@mswjs/interceptors/lib/browser/index.js:4:24) at Object.<anonymous> (node_modules/nock/lib/intercept.js:13:30) at Object.<anonymous> (node_modules/nock/lib/recorder.js:8:44) at Object.<anonymous> (node_modules/nock/lib/back.js:4:18) at Object.<anonymous> (node_modules/nock/index.js:3:14) at Object.<anonymous> (src/__test__/Login.spec.tsx:3:1) ReferenceError: TextEncoder is not defined에러가 발생합니다.node -v => v18.18.2노드 버전이랑, util 라이브러리를 사용해 문제를 해결하려 했지만, 잘 되지 않아 질문드립니다.
-
해결됨Practical Testing: 실용적인 테스트 가이드
동시청 처리 문의드립니다.
이전 강의 부터 동시성 문제에 대해서 논하셔서 문의 드립니다.보통 서비스 구현시 최종 병목지점은 DB로 귀결되기 마련인데과금테이블과 같이 비관적락을 이용해야 하는 경우, 캐시등을 이용이 불가하여 어쩔수 없느니 스케일업 하는 방법을 이용합니다. 마스터, 슬레이브 로 나눈다고 해도 동시성을 보장할수 없는 경우가 많은데요. 이런 경우 해결 방안으로 어떤것이 있는지 고견을 여쭙고자 합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
Entity에 @RequiredArgsConstructor(access = AccessLevel.PROTECTED)
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. Entity 객체에 @RequiredArgsConstructor(access = AccessLevel.PROTECTED)로 설정해주는 이유가 외부에서 객체의 생성을 제한하려는 의도인것 같은데요final 키워드를 가진 instance가 없는데도 RequiredArgsConstructor 를 사용한 의도가 있는지 궁금합니다.아직 강의 후반까지는 보지않은 상태이긴하지만final 키워드가 없으면 결국 NoArgsConstructor랑 같은 동작을 하는것이 아닌가해서요
-
미해결Practical Testing: 실용적인 테스트 가이드
BaseEntity 에서의 abstract 사용이유
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요.BaseEntity에 abstract를 사용하는 이유에 대해 궁금합니다.강의 중에 흐르듯이 듣기는 했지만, 조금 더 자세히 이유에 대해 파악하고자 질문드립니다. 아니면, 강의에서 내에 말씀해주신 인스턴스를 굳이 만들필요없기 때문이 전부인지 궁금합니다.감사합니다
-
미해결Practical Testing: 실용적인 테스트 가이드
Redis 테스트
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 강사님 안녕하세요! 강의를 수강하고 프로젝트에 테스트 코드를 작성하며 적용해보고 있습니다.프로젝트에서 Redis로 저장되는 객체가 있는데, 이를 테스트하기 위해 찾아보니 embedded Redis를 사용하거나 테스트 컨테이너를 사용한다고 합니다.'Redis에서 단순한 저장/조회/수정 로직만 존재하는데, 그냥 테스트하지말고 냅둘까?' 유혹이 생기더라구요.이처럼 만약 테스트를 위해 추가적으로 설정이 필요한 경우, 어느정도 선까지 테스트를 진행하는게 맞을지 고민이 됩니다.시간적으로 가능한 선 내에서는 무조건 다 하는게 맞는걸까요?
-
미해결소프트웨어 테스팅 입문 - C++
안녕하세요 선생님 섹션4. 첨부 파일 수정 요청드립니다.
안녕하세요 선생님 섹션4. 첨부 파일 수정 요청드립니다.현재 다운로드 하면 PDF가 아닌 mp4가 다운로드 됩니다.감사합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
TDD와 BDD
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요, 강의를 수강하다 궁금증이 생겨서 질문드립니다!기존에 TDD는 어렴풋이 알고 있었는데, BDD에 대해서는 자세히 몰랐어서 도움이 많이 되었습니다. 그런데 한가지 궁금증이 생겼습니다.BDD는 Behavior Driven Development로 '시나리오에 기반한 테스트케이스 자체에 집중하여 테스트한다.'라는 문장이 있습니다!이때 그렇다면 TDD와 BDD 방식에서 테스트하는 단위가 다른걸까 궁금합니다! 단순히 제가 이해하기에 'TDD에서는 메서드 단위로 테스트가 진행되고, BDD에서는 하나의 요구사항 시나리오 기반으로 테스트되는걸까?'라고 생각이 들었습니다.아니면 혹시 제가 TDD와 BDD에 대한 접근을 잘못 이해하고 있는걸까요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
useEffect로 사용을 해도 되나요?
useEffect(() => { localStorage.setItem('todoData', JSON.stringify(todoData)); }, [todoData]); 이렇게 작성을 하고, 나머지는 다 주석을 처리했는데도 정상 작동하는 것 같더라구요. 하지만 의문인게 setTodoData((prev) => [...prev, newTodo]); localStorage.setItem('todoData', JSON.stringify([...todoData, newTodo]));여기도 주석처리를 했는데, 여기는 조금 작성하는 게 다르지 않나요? handleRemoveClick = () => { setTodoData([]) }여기도 그렇구요. 그런데 그냥 다 정상 작동 하네요?