首页 > 解决方案 > 无法在 Jest 中创建自定义 TestEnvironment

问题描述

我正在尝试按照官方文档
中的描述使用 Jest 创建自定义测试环境 不幸的是,我收到以下错误:

确定要运行的测试套件...
FAIL accepttests/mongo.test.js
● 测试套件无法运行

TypeError:TestEnvironment 不是构造函数

at ../node_modules/jest-runner/build/run_test.js:88:25

我的测试完全是空的,我的 CustomTestEnvironment 只是调用了超类。我使用的是最新的 Jest 版本 (24.3.1)

我认为很奇怪,错误是在 Jest 库中引发的。

这是我的 test-environment.js:

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

class CustomEnvironment extends NodeEnvironment {
  constructor(config) {
    super(config);
  }

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

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

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

任何帮助表示赞赏!

标签: javascriptnode.jstestingjestjs

解决方案


好的,这是一个愚蠢的问题,我找到了解决方案。

我不得不导出CustomTestEnvironment

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

class CustomEnvironment extends NodeEnvironment {
  ...
}

module.exports = CustomEnvironment

我不知道为什么指南不包括那一行:(


推荐阅读