使用Jest执行`npm run test`时,如何获取更详细的测试信息?
如何获取Jest更详细的测试输出信息?
执行
npm run test时,终端仅返回精简的测试汇总:Test Suites: 1 failed, 19 passed, 20 total Tests: 238 passed, 238 total Snapshots: 0 total Time: 742.958 s Ran all test suites.当前
jest.config.js配置:module.exports = { testEnvironment: 'node', roots: ['<rootDir>/test'], testMatch: ['**/*.test.ts'], transform: { '^.+\\.tsx?$': 'ts-jest' } };
package.json脚本配置:"scripts": { "test": "jest", },
方法1:调整命令行参数
- 启用全量详细输出:修改
package.json的test脚本,添加--verbose参数,该参数会输出每个测试套件下的所有测试用例结果,包括失败用例的具体错误信息:"scripts": { "test": "jest --verbose", } - 仅查看失败测试详情:若只想定位失败的测试套件和用例,使用
--onlyFailures参数,只输出失败项的完整信息:"scripts": { "test": "jest --onlyFailures", } - 辅助排查资源问题:如果测试存在超时或资源未释放情况,可添加
--detectOpenHandles参数,检测未关闭的句柄,辅助定位失败原因。
方法2:修改Jest配置文件永久启用详细输出
在jest.config.js中添加verbose: true配置项,后续每次运行npm run test都会默认输出详细测试信息:
module.exports = { testEnvironment: 'node', roots: ['<rootDir>/test'], testMatch: ['**/*.test.ts'], transform: { '^.+\\.tsx?$': 'ts-jest' }, verbose: true };
方法3:使用第三方报告器生成结构化报告
如果需要更结构化的测试结果(如XML或HTML格式),可以安装Jest第三方报告器:
- 安装
jest-junit(生成XML格式报告):npm install jest-junit --save-dev - 在
jest.config.js中配置报告器:module.exports = { // 保留原有配置 reporters: [ 'default', // 保留终端默认输出 'jest-junit' // 生成XML报告 ] };
运行测试后,项目根目录会生成junit.xml文件,包含所有测试的详细结果。
内容的提问来源于stack exchange,提问作者Luke
相关产品推荐
相关产品推荐

