• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

볼륨을 적용하였는데 npm run test 가 반영되지 않는 이유가 궁금합니다.

22.01.08 07:48 작성 조회수 380

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 파일의 변경이 실시간으로 적용되는데, 둘의 차이가 무엇인지 모르겠습니다.

 

감사합니다.

답변 1

답변을 작성해보세요.

2

DumDums님의 프로필

DumDums

2022.02.16

대신 설명을 드리자면 강의자분의 소스코드에서 테스트가 실패하는 이유는 리액트앱내의 소스코드를 바꿔주고 테스트 코드에 있는 내용을 바꾸어주지 않았기 때문입니다.

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();
});
unknown님의 프로필

unknown

2024.02.11

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