Jest:测试套件无法运行 错误:未提供任何消息

5
我正在将现有的测试转换为使用ts-jest和typescript,我已经找到了所有文件,但是所有测试都失败并显示以下错误:
 FAIL  src/components/Buttons/__tests__/index.tsx
  ● Test suite failed to run

    Error: No message was provided

我完全不知道发生了什么事情,通过谷歌搜索也找不到任何遇到相同问题的人,这让我感到害怕...

带有jest配置的package.json

  "jest": {
    "globals": {
      "ts-jest": {
        "tsConfigFile": "<rootDir>/tsconfig.json",
        "babelConfig": {
          "presets": ["@babel/preset-env", "@babel/preset-react"]
        }
      }
    },
    "setupTestFrameworkScriptFile": "<rootDir>/src/setupTests.ts",
    "verbose": true,
    "transform": {
      "^.+\\.tsx?$": "ts-jest"
    },
    "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "typeface-roboto|\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
    },
    "moduleFileExtensions": [
      "ts", "tsx", "js", "jsx", "json", "node"
    ]
  },

示例测试文件...

import React from 'react';

import { shallow } from 'enzyme';

import Account from '../account';

it('renders without crashing', () => {
  expect(shallow(<Account />)).toBe(1);
});
3个回答

1
我发现在我的项目目录中添加一个tsconfig.json文件可以解决这个问题。
事实上,我的tsconfig.json文件不需要任何特殊设置,甚至不需要任何内容!只要有一个空的tsconfig.json文件就可以让我的测试运行。

0
我有3个测试套件出现了类似的错误,其中一个能够正常运行。这些测试都是在代码合并之前运行的。经过调查,我发现我的组件使用了AAD身份验证,但相应的配置信息确实丢失了,可能是我在进行check-in时不小心删除了。添加正确的配置信息后,问题得以解决。

@Swapna,我在使用AAD身份验证时遇到了相同的错误。你是如何解决的? - arunmmanoharan

-1

由于某些原因,将我的tsconfig放在设置中导致了问题。尽管它是标准名称和位置(项目根目录中的tsconfig.js),但我还是把它放在那里。

一旦我删除了它,我的配置中出现了更多错误需要清除,但它已经通过了我提出的问题中的错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接