找不到模块 'supertest'
Cannot find module 'supertest'
我正在尝试用 typescript 编写 API 测试。
我已经像这样安装了以下软件包:
npm install -g mocha
npm install chai
npm install supertest
npm install supertest --save-dev
npm install supertest -g
npm install mocha@3.1.2 chai@3.5.0 chai-http@3.0.0 --save-dev
npm install @types/mocha@2.2.32 @types/chai@3.4.34 @types/chai-http@0.0.29 --save-dev
npm install ts-node@3.3.0 --save-dev
npm install typescript@2.0.6 --save-dev
我有这样的打字稿代码:
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...另外,我的 'node_modules' 文件夹中确实有一个名为 'supertest'.
的文件夹
想法?
超测3.0.0及更早版本不支持ES6。在 GitHub 上有一个关于那个的 issue。
那里还有一个解决方法 posted。我将 post 放在这里以防问题消失:
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。
我正在尝试用 typescript 编写 API 测试。
我已经像这样安装了以下软件包:
npm install -g mocha
npm install chai
npm install supertest
npm install supertest --save-dev
npm install supertest -g
npm install mocha@3.1.2 chai@3.5.0 chai-http@3.0.0 --save-dev
npm install @types/mocha@2.2.32 @types/chai@3.4.34 @types/chai-http@0.0.29 --save-dev
npm install ts-node@3.3.0 --save-dev
npm install typescript@2.0.6 --save-dev
我有这样的打字稿代码:
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...另外,我的 'node_modules' 文件夹中确实有一个名为 'supertest'.
的文件夹想法?
超测3.0.0及更早版本不支持ES6。在 GitHub 上有一个关于那个的 issue。
那里还有一个解决方法 posted。我将 post 放在这里以防问题消失:
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。