如何修改NodeEnvironment中的设置配置(从jest-environment-node)?

问题描述 投票:1回答:0

我们正在搭建一个NodeJS框架MidwayJS,我们推荐用户使用Jest来做测试用例。我们对Jest Env进行了这样的修改。

'use strict';
const NodeEnvironment = require('jest-environment-node');

/* eslint-disable no-useless-constructor */
class JestEnvironment extends NodeEnvironment {
  constructor(config) {
    super(config);
  }

  async setup() {
    require('ts-node/register');
    this.global.process.env.MIDWAY_TS_MODE = 'true';
    this.global.process.env.MIDWAY_JEST_MODE = 'true';
    this.global.setTimeout(3000)
    await super.setup();
  }

  async teardown() {
    await super.teardown();
  }

  runScript(script) {
    return super.runScript(script);
  }
}

module.exports = JestEnvironment;

有了上面的配置,一切都很顺利,但是我们遇到了一个问题。

有些用户创建了一个巨大的项目目录,而我们的框架会在应用程序启动前扫描整个目录,当运行测试用例时也是如此,这使得它在某些情况下需要花费超过3000ms的时间--Jest将默认的async回调调用时间设置为3000ms,所以如果扫描没有在3000ms内完成,测试就会崩溃。

我们通过使用jest.setup.js中的一行:jest.setTimeout(30000),很容易地解决了这个问题,但是现在我们想在第一个文件中解决这个问题,我没有找到修改设置配置的方法。

如果你能帮我做出来,我会非常感激。

node.js jestjs jest
© www.soinside.com 2019 - 2024. All rights reserved.