【问题标题】:Cannot find module 'supertest'找不到模块“超级测试”
【发布时间】:2018-05-25 06:08:35
【问题描述】:

我正在尝试用 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”的文件夹。

想法?

【问题讨论】:

    标签: typescript node-modules supertest


    【解决方案1】:

    Supertest 3.0.0 及更早版本不支持 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。

    【讨论】:

    • 谢谢!在我将导入命令更改为:“var supertest = require("supertest");"
    猜你喜欢
    • 2015-07-28
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 2020-10-04
    相关资源
    最近更新 更多