Jest 建议使用“--detectOpenHandles”,它没有什么特别的作用

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

当我使用

jest --silent
:

运行测试时,我总是会打印此消息

Jest 在测试运行完成后一秒没有退出。

这通常意味着存在未完成的异步操作 在你的测试中停止了。考虑运行 Jest

--detectOpenHandles
解决此问题。

但是当我运行

jest --silent --detectOpenHandles
时,没有什么特别的事情发生,没有额外的消息,没有警告,什么也没有。它就正确完成了。

我正在使用:

"jest": "^26.6.3",
"jest-extended": "^0.11.5",
"jest-preset-angular": "^8.3.2",
"ts-jest": "^26.4.4",
"ts-mockito": "^2.6.1",

我的配置是:

const ignoredFiles = [
  '<rootDir>/src/test.ts',
  '<rootDir>/src/main.ts',
  '<rootDir>/src/jest-global.mocks.ts',
  '<rootDir>/src/polyfills.ts',
  '<rootDir>/src/test-helpers.ts',
  '<rootDir>/src/mocks',
  '<rootDir>/plugins/',
  '<rootDir>/coverage/',
  '<rootDir>/scripts/',
  '<rootDir>/android/',
  '<rootDir>/e2e/',
  '<rootDir>/ssd_hooks/',
  '<rootDir>/typings/',
  '<rootDir>/platforms/',
  '<rootDir>/plugins/',
  '<rootDir>/resources/',
  '<rootDir>/manual-plugins/'
];

module.exports = {
  preset: 'jest-preset-angular',
  setupFilesAfterEnv: ['<rootDir>/src/setupJest.ts'],
  transformIgnorePatterns: ['<rootDir>/node_modules/(?!@ionic|@saninn|@ngrx|@capacitor-community)'],
  coverageReporters: process.env.CI ? ['text'] : ['lcov'],
  testPathIgnorePatterns: ['/node_modules/', ...ignoredFiles],
  modulePathIgnorePatterns: ['<rootDir>/coverage/', '<rootDir>/plugins/'],
  collectCoverage: false,
  notify: true,
  coverageDirectory: './coverage',
  collectCoverageFrom: ['<rootDir>/src/**/*.ts', '!**/*.module.ts', '!**/*.enum.ts'],
  coveragePathIgnorePatterns: ['/node_modules/', 'package.json', ...ignoredFiles],
  globals: {
    'ts-jest': {
      tsconfig: '<rootDir>/src/tsconfig.spec.json',
      diagnostics: {
        ignoreCodes: [
          6138, // declared but never read
          6133, // declared but never used,
          2322 // object should just have known keys
        ]
      }
    }
  }
};

如何找到导致 Jest 显示该警告的原因?

jestjs ts-jest
1个回答
0
投票

我正在查看一些 Stack Overflow 帖子,并发现 this post 关于这个问题。

我对第一个答案做了一些测试,它有效。只需添加:

// ... etc etc

"scripts": {
  "test": "jest --forceExit"
}

// ... etc etc

这应该可以解决你的问题!希望这有效

© www.soinside.com 2019 - 2024. All rights reserved.