인프런 커뮤니티 질문&답변
볼륨을 적용하였는데 npm run test 가 반영되지 않는 이유가 궁금합니다.
작성
·
611
0
안녕하세요 선생님!
도커 컴포즈에서 볼륨 설정을 아래와 같이 하면, App.js 파일은 물론 App.test.js 파일도 볼륨 설정을 한것이라고 생각하는데요.
volumes:
- /usr/src/app/node_modules
- ./:/usr/src/app
왜 로컬에서 App.test.js 파일을 변경 한 후, 컨테이너 안에서 npm run test 를 하면 로컬의 변경을 반영하지 않는 것인지 궁금합니다.
'docker run -it codetrain999/docker-react-app npm run test' 로 실행하였을 떄도 적용되지 않고 쉘에 직접 붙어서 실행해도 반영되지 않았습니다.
테스트용 컨테이너를 별도로 생성하니 App.test.js 파일의 변경이 실시간으로 적용되는데, 둘의 차이가 무엇인지 모르겠습니다.
감사합니다.
퀴즈
Docker Compose의 주된 역할은 무엇일까요?
컨테이너 이미지를 만드는 역할
단일 Docker 컨테이너를 실행하는 역할
다중 컨테이너 애플리케이션을 정의하고 관리하는 역할
Docker 데몬을 설치하고 설정하는 역할
답변 1
2
대신 설명을 드리자면 강의자분의 소스코드에서 테스트가 실패하는 이유는 리액트앱내의 소스코드를 바꿔주고 테스트 코드에 있는 내용을 바꾸어주지 않았기 때문입니다.
test file 을 아래처럼 바꾸시면 됩니다
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/바꾸어준 내용/i); // <- 여기를 질문자님이 바꾼 콘텐츠 내용으로 바꾸시면 됩니다.
expect(linkElement).toBeInTheDocument();
});





덕분에 시간 낭비 안하고 갑니다. 감사합니다.
강의자가 설명해줘야 할 부분을 수강자가 해주고 있으니.. 에휴