JEST错误TypeError:(0,_jest.test)不是函数

时间:2017-09-07 07:15:48

标签: javascript reactjs jestjs

我收到错误:

  

TypeError:(0,_jest.test)不是函数

尝试使用npm test

我认为可能与配置有关,你能帮帮我吗?

sum.js

function sum (a, b) {
  return a + b
}

export default sum

测试 /sum.test.js

import sum from '../src/sum.js'
import { test, expect } from 'jest'

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3)
})

的package.json

"devDependencies": {
    "babel-eslint": "7.1.1",
    "eslint": "3.18.0",
    "eslint-plugin-react": "6.10.0",
    "standard": "9.0.2",
    "webpack": "2.2.1",
    "jest":"21.0.1",
    "jest-cli":"21.0.1",
    "babel-jest":"21.0.0",
    "regenerator-runtime":"0.11.0"
},

"scripts": {
    "test": "standard && jest",
    "format": "standard --fix",
    "start": "webpack-dev-server --config webpack.config.dev.js",
    "build": "webpack --config webpack.config.prod.js"
},

2 个答案:

答案 0 :(得分:3)

删除此行:

import { test, expect } from 'jest'

您无需从jest导入任何内容。见example

答案 1 :(得分:0)

我已经使用它运行流

import expect from "expect";
const test = window.test;

也许对您也有帮助。似乎使流程将它们都当作any对待,这远非完美,但至少可以检查文件的其他部分。


一个更好的“解决方案”是制作一个包含以下内容的文件my-test.test.js

export const test = window.test;
export const expect = window.expect;

test("dummy", () => {});

并像使用它

import {test, expect} from '../my/my-test.test';

这将丑陋集中在一个文件中。