2017-12-11 6 views
0

typescript에서 API 테스트를 작성하려고합니다.'supertest'모듈을 찾을 수 없습니다

I는 다음과 같이 다음 패키지를 설치 한 :

npm install -g mocha 
npm install chai 
npm install supertest 
npm install supertest --save-dev 
npm install supertest -g 
npm install [email protected] [email protected] [email protected] --save-dev 
npm install @types/[email protected] @types/[email protected] @types/[email protected] --save-dev 
npm install [email protected] --save-dev 
npm install [email protected] --save-dev 

I는 다음과 같습니다 타이프 코드가 있습니다

import { expect } from 'chai'; 
import * as supertest from 'supertest'; 
import 'mocha'; 

var api = supertest('http://petstore.swagger.io'); 

describe('API test',() => { 
    it('should return a 200 response from petstore', function (done) { 
    api.get('/v2/store/inventory') 
     .set('Accept', 'application/json') 
     .expect(200, done); 
    }); 
}) 

을하지만, 내가 실행하려고하면, 나는이 오류를 :

mocha -r ts-node/register src/**/branches.ts 
C:\project\node_modules\ts-node\src\index.ts:307 
     throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset)) 
      ^
TSError: ⨯ Unable to compile TypeScript 
src\API\branches.ts (5,28): Cannot find module 'supertest'. (2307) 

왜 나는 supertest를 찾을 수 없는지 알 수 없습니다. 보시다시피 가능한 모든 방법으로 supertest 설치를 시도했습니다 ... 또한 'supertest'라는 'node_modules'폴더에 폴더가 있습니다.

생각하십니까?

답변

1

버전 3.0.0 및 이전 버전의 Supertest는 ES6을 지원하지 않습니다. GitHub에 관한 내용은 issue입니다.

거기에 해결 방법이 게시되어 있습니다.

test_helper.js : 당신의 테스트 파일에서

import sinon from 'sinon' 
import chai from 'chai' 
import sinonChai from 'sinon-chai' 
var expect = chai.expect 
chai.use(sinonChai) 

var supertest = require("supertest"); 

module.exports = { 
    sinon: sinon, 
    chai: chai, 
    expect: expect, 
    supertest: supertest 
} 

:

import {sinon, chai, expect, supertest} from '../test_helper' 

신용이 foxgaocn 간다 나는 경우에는 문제가 없어 여기에 게시합니다.

+0

고마워요! 가져 오기 명령을 변경 한 후에 작동합니다. "var supertest = require ("supertest ");" – user952342