gpt4 book ai didi

javascript - 如何解决 Jest 消息 "Jest did not exit one second after the test run has completed."?

转载 作者:行者123 更新时间:2023-11-29 16:01:28 26 4
gpt4 key购买 nike

我们使用 frisby.js 进行自动化 API 测试,frisby.js 使用 Jest 作为测试运行器。现在,在我们的案例中,我们在执行所有 API 测试之前进行全局设置,并在测试执行之后进行全局拆卸。

我在 jest.conf.js 中设置的全局设置和拆卸:

globalSetup: './jest.globalSetup.js',
globalTeardown: './jest.globalTeardown.js',

因此,全局拆解导出一个在所有测试套件之后触发一次的异步函数。在我们的全局拆解中,我们使用外部报告引擎生成测试覆盖率和测试报告:

const coverage = require('./test-coverage-generator');
const XunitViewerCli = require('xunit-viewer/cli');

module.exports = async function() {
await coverage.generateTestCoverage();
await XunitViewerCli({
results: './api/reporting/test-reports/jest-junit-report-' + process.env.API_TEST_FOLDER + '.xml',
ignore: [],
output: './api/reporting/test-reports/jest-junit-report-' + process.env.API_TEST_FOLDER + '.html',
title: 'Test Report API Tests for ' + process.env.API_TEST_FOLDER,
port: false,
watch: false,
color: true,
filter: {}
});
}

报告生成是 Jest 生成消息 Jest 在测试运行完成后一秒钟没有退出的问题。 在测试结束时,因为报告生成需要一秒钟以上。

所以,我不想再看到这条消息,因为这条消息很困惑。也许可以在全局范围内将默认的 Jest 超时增加一秒,或者是否有任何其他可能的解决方案来阻止此消息?

最佳答案

我遇到了类似的事情,解决方案是从 globalTeardown 模块导出的函数返回一个 promise 。这样的事情应该可以解决问题:

module.exports = async function() {
await coverage.generateTestCoverage();
// returns a promise
return XunitViewerCli({
results: './api/reporting/test-reports/jest-junit-report-' + process.env.API_TEST_FOLDER + '.xml',
ignore: [],
output: './api/reporting/test-reports/jest-junit-report-' + process.env.API_TEST_FOLDER + '.html',
title: 'Test Report API Tests for ' + process.env.API_TEST_FOLDER,
port: false,
watch: false,
color: true,
filter: {}
});
}

关于javascript - 如何解决 Jest 消息 "Jest did not exit one second after the test run has completed."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52697387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com