0

将 Chai HTTP ( https://www.chaijs.com/plugins/chai-http/ ) 添加到 Node 项目测试。

使用插件(如文档中所示)正在使用:

var chai = require('chai')
  , chaiHttp = require('chai-http');

chai.use(chaiHttp);

我想知道是否需要chai.use(chaiHttp);在我使用 chaiHttp 的每个测试文件中添加?或者我可以在其中一项测试中设置一次 chaiHttp 吗?

它可以在一个公共文件中吗?

4

1 回答 1

1

mochav8.2.0 开始,您可以使用https://mochajs.org/#global-fixtures

全球赛程:

保证执行一次且仅执行一次

您可以使用TEST FIXTURE DECISION-TREE WIZARD THING

此流程图将帮助您决定应该使用哪些钩子、根钩子插件或全局固定装置。

了解后,举个例子:

a.test.js

const chai = require('chai');
const { expect } = chai;

describe('a', () => {
  it('should pass', () => {
    expect(chai.request).to.be.a('function');
  });
});

b.test.js

const chai = require('chai');
const { expect } = chai;

describe('b', () => {
  it('should pass', () => {
    expect(chai.request).to.be.a('function');
  });
});

fixtures.js

var chai = require('chai'),
  chaiHttp = require('chai-http');

exports.mochaGlobalSetup = function () {
  chai.use(chaiHttp);
  console.log('setup chaiHttp plugin');
};

运行测试套件和结果:

npx mocha --require fixtures.js ./**/*.test.js
setup chaiHttp plugin


  a
    ✓ should pass

  b
    ✓ should pass


  2 passing (5ms)
于 2020-12-24T07:50:56.897 回答