작성
·
515
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
대신 설명을 드리자면 강의자분의 소스코드에서 테스트가 실패하는 이유는 리액트앱내의 소스코드를 바꿔주고 테스트 코드에 있는 내용을 바꾸어주지 않았기 때문입니다.
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();
});
덕분에 시간 낭비 안하고 갑니다. 감사합니다.
강의자가 설명해줘야 할 부분을 수강자가 해주고 있으니.. 에휴