如何在覆盖 CRA Jest 配置时消除“运行所有测试的意外无效模式”警告?

exa*_*cae 5 typescript reactjs jestjs create-react-app yarnpkg

yarn test每当我在基于create-react-app 的React 应用程序中使用时,我都会在测试运行之前遇到长时间无效的测试模式警告。这些测试运行良好,但那个尴尬的警告并不那么方便。我有两个担忧:

  • 我的配置中是否缺少某些内容导致出现这种情况?
  • 有没有办法消除警告

警告


$ yarn test
yarn run v1.22.10
$ react-scripts test -- --config=jest.config.ts

  Invalid testPattern --config=jest.config.ts|--watch|--config|{"roots":["<rootDir>\\src"],"collectCoverageFrom":["src\\**\\*.{js,jsx,ts,tsx}","!src\\
**\\*.d.ts"],"setupFiles":node_modules\\react-app-polyfill\\jsdom.js"],"setupF
ilesAfterEnv":[],"testMatch":["<rootDir>\\src\\**\\__tests__\\**\\*.{js,jsx,ts,tsx}","<rootDir>\\src\\**\\*.{spec,test}.{js,jsx,ts,tsx}"],"testEnviron
ment":"jsdom","testRunner":"\node_modules\\jest-circus\\runner.js","transform":{"
^.+\\.(js|jsx|mjs|cjs|ts|tsx)$"\\node_modules\\react-scripts\\config\\jest\\cs
sTransform.js","^(?!.*\\.node_modules\jest-environment-jsdom\build\index.js supplied. Running all tests instead.
  Invalid testPattern --config=jest.config.ts|--watch|--config|{"roots":["<rootDir>\\src"],"collectCoverageFrom":["src\\**\\*.{js,jsx,ts,tsx}","!src\\
**\\*.d.ts"],"setupFiles":node_modules\\react-app-polyfill\\jsdom.js"],"setupF
ilesAfterEnv":[],"testMatch":["<rootDir>\\src\\**\\__tests__\\**\\*.{js,jsx,ts,tsx}","<rootDir>\\src\\**\\*.{spec,test}.{js,jsx,ts,tsx}"],"testEnviron
ment":"jsdom","testRunner":"\node_modules\\jest-circus\\runner.js","transform":{"
^.+\\.(js|jsx|mjs|cjs|ts|tsx)$"\\node_modules\\react-scripts\\config\\jest\\cs
sTransform.js","^(?!.*\\.node_modules\jest-environment-jsdom\build\index.js supplied. Running all tests instead.

Run Code Online (Sandbox Code Playgroud)

玩笑配置


$ yarn test
yarn run v1.22.10
$ react-scripts test -- --config=jest.config.ts

  Invalid testPattern --config=jest.config.ts|--watch|--config|{"roots":["<rootDir>\\src"],"collectCoverageFrom":["src\\**\\*.{js,jsx,ts,tsx}","!src\\
**\\*.d.ts"],"setupFiles":node_modules\\react-app-polyfill\\jsdom.js"],"setupF
ilesAfterEnv":[],"testMatch":["<rootDir>\\src\\**\\__tests__\\**\\*.{js,jsx,ts,tsx}","<rootDir>\\src\\**\\*.{spec,test}.{js,jsx,ts,tsx}"],"testEnviron
ment":"jsdom","testRunner":"\node_modules\\jest-circus\\runner.js","transform":{"
^.+\\.(js|jsx|mjs|cjs|ts|tsx)$"\\node_modules\\react-scripts\\config\\jest\\cs
sTransform.js","^(?!.*\\.node_modules\jest-environment-jsdom\build\index.js supplied. Running all tests instead.
  Invalid testPattern --config=jest.config.ts|--watch|--config|{"roots":["<rootDir>\\src"],"collectCoverageFrom":["src\\**\\*.{js,jsx,ts,tsx}","!src\\
**\\*.d.ts"],"setupFiles":node_modules\\react-app-polyfill\\jsdom.js"],"setupF
ilesAfterEnv":[],"testMatch":["<rootDir>\\src\\**\\__tests__\\**\\*.{js,jsx,ts,tsx}","<rootDir>\\src\\**\\*.{spec,test}.{js,jsx,ts,tsx}"],"testEnviron
ment":"jsdom","testRunner":"\node_modules\\jest-circus\\runner.js","transform":{"
^.+\\.(js|jsx|mjs|cjs|ts|tsx)$"\\node_modules\\react-scripts\\config\\jest\\cs
sTransform.js","^(?!.*\\.node_modules\jest-environment-jsdom\build\index.js supplied. Running all tests instead.

Run Code Online (Sandbox Code Playgroud)

依赖关系

  • 笑话@26.6.2
  • 反应@17.0.2
  • 纱线@1.22.10

二进制文件

  • 节点:14.7.0
  • 纱线:2010年1月22日
  • npm:2011 年 6 月 14 日

cef*_*efn 1

您的使用--具体是说它后面的所有内容实际上都是文件模式。So--config=jest.config.ts根本不被解释为一个选项,而令人困惑的错误是由于react-scripts test命令试图将其理解为文件模式而产生的。选项必须先于--

请参阅https://www.baeldung.com/linux/double-dash-in-shell-commands