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

时间:2018-07-07 17:06:06

标签: reactjs typescript jestjs

我正在将现有测试转换为使用ts-jest的typescript,并且我找到了所有文件,但所有测试均因错误而失败

 FAIL  src/components/Buttons/__tests__/index.tsx
  ● Test suite failed to run

    Error: No message was provided

我不知道发生了什么,我似乎也找不到通过谷歌搜索遇到相同问题的人,这真是可怕的事...

带有配置配置的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 个答案:

答案 0 :(得分:1)

我发现在我的项目目录中添加 tsconfig.json 文件可以解决此问题。

我的tsconfig.json文件不需要任何特殊的东西,实际上它根本不需要任何东西!仅仅拥有一个空白的tsconfig.json文件就可以运行我的测试。

答案 1 :(得分:0)

3个测试服出现类似错误,其中1个运行良好。这些在代码合并之前运行。经过调查,我发现我的组件具有AAD身份验证,并且缺少相同的配置,因此我将其删除以进行签入。添加正确的配置后,解决了我的问题。

答案 2 :(得分:-1)

由于某种原因,在设置中包含我的tsconfig导致了问题。我把它放在那里,即使它是标准名称和位置(项目根目录中的tsconfig.js)

删除此错误后,我的配置中有更多错误需要清除,但它超过了我的问题中的错误