node.js - 如何修改 NodeEnvironment 中的设置配置(来自 jest-environment-node)?
问题描述
我们正在构建一个 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 设置默认异步回调调用时间3000ms,所以如果扫描没有在 3000ms 内完成,测试就会崩溃。
我们通过在一行中使用 jest.setup.js 轻松解决了这个问题:jest.setTimeout(30000),但现在我们想在第一个显示的文件中解决它,我没有找到修改设置配置的方法在里面。
如果您能帮我解决这个问题,我将不胜感激。
解决方案
推荐阅读
- java - org.h2.jdbc.JdbcSQLSyntaxErrorException: SQL 语句中的语法错误
- linux - 匹配两个文件并打印所有列
- graphql - 获取错误字段“cover”不能有选择,因为类型“String”在部署时没有子字段
- python - 从另一个页面上的搜索标签模型中获取所有数据
- elasticsearch - 使用 Logstash 时如何自动更新 Elasticsearch 索引
- git - 无法将 GitHub 登录到 Eclipse
- python - 装饰器检查类中的输入类型
- mathematical-optimization - 为什么 pyomo lp 模型的解决方案有时会违反硬约束?
- c - 调用免费时出错:双重免费或损坏,损坏的大小与 prev_size,收到信号 6
- reactjs - 如何让网格项元素显示在一行上?