jasmine-ts
을 사용하여 일련의 테스트를 실행하는 Typescript
으로 작성된 프로젝트가 있습니다. 몇 가지 이유로 테스트를 실행하려면 Docker
컨테이너를 만들어야합니다. 로컬 프로젝트 하다니Docker 컨테이너에서 Typescript 가져 오기 문이 작동하지 않습니다.
확인 npm test
실행 :
c:\github\gareththegeek\corewar>npm test
> [email protected] test c:\github\gareththegeek\corewar
> nyc jasmine-ts
Started
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
503 specs, 0 failures
Finished in 0.893 seconds
내가 같은 폴더를 containerise와 고정 표시기 이미지에서 npm test
을 실행
c:\github\gareththegeek\corewar>docker run corewar
> [email protected] test /usr/src/app
> nyc jasmine-ts
/usr/src/app/node_modules/ts-node/src/index.ts:307
throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset))
^
TSError: ⨯ Unable to compile TypeScript
parser/Expression.ts (1,29): Cannot find module './interface/IExpression'. (2307)
parser/Expression.ts (2,39): Cannot find module './interface/IToken'. (2307)
parser/Expression.ts (3,30): Cannot find module './interface/ITokenStream'. (230
내 고정 표시기 이미지는 기본이며 다음 고정 표시기 용기 내 로컬 npm test
명령에 다르게 작동하는 이유
FROM node:carbon
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . .
CMD [ "npm", "test" ]
정말 확실 해요. 나는 그것이 지역적으로 내가 창문 위에 있고 항만 객 컨테이너가 아니기 때문에 그것이라고 가정 할 것이다. 그러나 나는 이것을 디버깅하는 방법을 확실히 모르겠습니다.
아무도 Typescript 가져 오기가 내가 기대하는 방식으로 도커 내에서 작동하지 않는 이유에 대한 모든 설명을 제공 할 수 있습니까? 어떤 도움이된다면 Typescript 코드 일부에 붙여 넣을 수 있습니다.