Javascript TypeError:(0,_expect2.default)(…)。toBeDefined不是函数

Javascript TypeError:(0,_expect2.default)(…)。toBeDefined不是函数,javascript,reactjs,unit-testing,jestjs,enzyme,Javascript,Reactjs,Unit Testing,Jestjs,Enzyme,我得到了TypeError:(0,_expect2.default)(…)。toBeDefined不是一个函数,通常的修复方法是将/node\u modules/更改为不使用引号。这没有帮助。输出是 $ jest FAIL __tests__/test_fake_add_component.js ● Add fake tests › Add › Add requires onAdd prop TypeError: (0 , _expect2.default)(...).toBe

我得到了
TypeError:(0,_expect2.default)(…)。toBeDefined不是一个函数
,通常的修复方法是将/node\u modules/更改为不使用引号。这没有帮助。输出是

$ jest
 FAIL  __tests__/test_fake_add_component.js
  ● Add fake tests › Add › Add requires onAdd prop

    TypeError: (0 , _expect2.default)(...).toBeDefined is not a function

      at Object.<anonymous> (__tests__/test_fake_add_component.js:20:54)
      at process._tickCallback (internal/process/next_tick.js:109:7)

  ● Add fake tests › Add › Add renders button

    TypeError: (0 , _expect2.default)(...).toBeDefined is not a function

      at Object.<anonymous> (__tests__/test_fake_add_component.js:25:43)
      at process._tickCallback (internal/process/next_tick.js:109:7)

 PASS  __tests__/test_BasicAnchorTag_enzyme.js
 PASS  __tests__/test_fake_list_component.js
 PASS  __tests__/test_hello_world_snapshot.js

Test Suites: 1 failed, 3 passed, 4 total
Tests:       2 failed, 6 passed, 8 total
Snapshots:   1 passed, 1 total
Time:        2.512s
Ran all test suites.
webpack.config.js

var webpack = require('webpack');
var path = require('path');
var CopyWebpackPlugin = require('copy-webpack-plugin');
var copyAssets = new CopyWebpackPlugin([{from: './assets'}]);

module.exports = {
  //devtool: 'inline-source-map',
  entry: './client/main.js',
  output: {
    path: path.resolve('./assets'),
    filename: 'bundle.js',
    publicPath: '/'
  },
  plugins: [copyAssets],
  externals: {
      jquery: 'var jQuery'
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        query: {
          presets: ['react', 'es2015'],
          plugins: ['transform-decorators-legacy']
        }
      },
      {
        include: /\.json$/,
        loader: 'json-loader'
      },
      {
        test: /\.css$/,
        loader: 'style-loader!css-loader',
        exclude: /node_modules/
      },
      {
        test: /\.scss$/,
        loader: 'style-loader!css-loader!sass-loader',
        exclude: /node_modules/
      }
    ]
  }
};
我不知道它使用哪一个,我只是运行
jest

B.法律改革委员会

{
  "plugins": ["transform-object-rest-spread"],
  "presets": ["es2015", "react"]
}
包装

{
  "name": "my-portal",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "python app.py",
    "devserver": "webpack-dev-server"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.4.5",
    "babel-jest": "^20.0.3",
    "babel-loader": "^6.2.1",
    "babel-plugin-transform-object-rest-spread": "^6.22.0",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-preset-react-hmre": "^1.1.1",
    "coffee-loader": "^0.7.3",
    "coffeescript": "^1.12.6",
    "css-loader": "^0.28.0",
    "enzyme": "^2.8.2",
    "expect": "^1.20.2",
    "jest": "^20.0.4",
    "morgan": "^1.7.0",
    "node-sass": "^4.5.2",
    "react-addons-test-utils": "^15.5.1",
    "react-test-renderer": "^15.5.4",
    "sass-loader": "^6.0.3",
    "style-loader": "^0.16.1",
    "webpack": "^2.0.0",
    "webpack-dev-middleware": "^1.9.0",
    "webpack-dev-server": "^1.16.2",
    "webpack-hot-middleware": "^2.15.0"
  },
  "dependencies": {
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-polyfill": "^6.23.0",
    "body-parser": "^1.16.0",
    "bootstrap-daterangepicker": "^2.1.25",
    "clipboard": "^1.6.1",
    "copy-webpack-plugin": "^4.0.1",
    "dotenv": "^4.0.0",
    "express": "^4.14.0",
    "fs": "0.0.1-security",
    "highcharts": "^5.0.10",
    "json-loader": "^0.5.4",
    "moment": "^2.17.1",
    "moment-timezone": "^0.5.11",
    "morgan": "^1.7.0",
    "path": "^0.12.7",
    "prop-types": "^15.5.8",
    "react": "^15.4.0",
    "react-addons-test-utils": "^15.4.0",
    "react-bootstrap": "^0.30.7",
    "react-bootstrap-datetimerangepicker": "^2.0.3",
    "react-bootstrap-modal": "^3.0.1",
    "react-data-components": "^1.1.0",
    "react-dom": "^15.4.0",
    "react-redux": "^5.0.2",
    "react-router": "^3.0.2",
    "react-simpletabs": "^0.7.0",
    "react-tabs": "^0.8.2",
    "redux": "^3.6.0",
    "redux-logger": "^2.8.1",
    "redux-promise-middleware": "^4.2.0",
    "redux-sequence-action": "^0.2.1",
    "redux-thunk": "^2.2.0",
    "sendgrid": "^5.0.1",
    "underscore": "^1.8.3",
    "whatwg-fetch": "^2.0.2"
  }
}

您可能正在阅读jest文档,并且正在使用。。。最简单的解决方案可能只是从“expect”中删除
import expect
如果您打算以任何方式使用jest,或者如果您想使用expect,请查看
toExist()
函数


希望有帮助。

这是为什么?jest有自己的expect库吗?@codyc4321有:
var webpack = require('webpack');
var path = require('path');
var CopyWebpackPlugin = require('copy-webpack-plugin');
var copyAssets = new CopyWebpackPlugin([{from: './assets'}]);

module.exports = {
  //devtool: 'inline-source-map',
  entry: './client/main.js',
  output: {
    path: path.resolve('./assets'),
    filename: 'bundle.js',
    publicPath: '/'
  },
  plugins: [copyAssets],
  externals: {
      jquery: 'var jQuery'
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        query: {
          presets: ['react', 'es2015'],
          plugins: ['transform-decorators-legacy']
        }
      },
      {
        include: /\.json$/,
        loader: 'json-loader'
      },
      {
        test: /\.css$/,
        loader: 'style-loader!css-loader',
        exclude: /node_modules/
      },
      {
        test: /\.scss$/,
        loader: 'style-loader!css-loader!sass-loader',
        exclude: /node_modules/
      }
    ]
  }
};
{
  "plugins": ["transform-object-rest-spread"],
  "presets": ["es2015", "react"]
}
{
  "name": "my-portal",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "python app.py",
    "devserver": "webpack-dev-server"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.4.5",
    "babel-jest": "^20.0.3",
    "babel-loader": "^6.2.1",
    "babel-plugin-transform-object-rest-spread": "^6.22.0",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-preset-react-hmre": "^1.1.1",
    "coffee-loader": "^0.7.3",
    "coffeescript": "^1.12.6",
    "css-loader": "^0.28.0",
    "enzyme": "^2.8.2",
    "expect": "^1.20.2",
    "jest": "^20.0.4",
    "morgan": "^1.7.0",
    "node-sass": "^4.5.2",
    "react-addons-test-utils": "^15.5.1",
    "react-test-renderer": "^15.5.4",
    "sass-loader": "^6.0.3",
    "style-loader": "^0.16.1",
    "webpack": "^2.0.0",
    "webpack-dev-middleware": "^1.9.0",
    "webpack-dev-server": "^1.16.2",
    "webpack-hot-middleware": "^2.15.0"
  },
  "dependencies": {
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-polyfill": "^6.23.0",
    "body-parser": "^1.16.0",
    "bootstrap-daterangepicker": "^2.1.25",
    "clipboard": "^1.6.1",
    "copy-webpack-plugin": "^4.0.1",
    "dotenv": "^4.0.0",
    "express": "^4.14.0",
    "fs": "0.0.1-security",
    "highcharts": "^5.0.10",
    "json-loader": "^0.5.4",
    "moment": "^2.17.1",
    "moment-timezone": "^0.5.11",
    "morgan": "^1.7.0",
    "path": "^0.12.7",
    "prop-types": "^15.5.8",
    "react": "^15.4.0",
    "react-addons-test-utils": "^15.4.0",
    "react-bootstrap": "^0.30.7",
    "react-bootstrap-datetimerangepicker": "^2.0.3",
    "react-bootstrap-modal": "^3.0.1",
    "react-data-components": "^1.1.0",
    "react-dom": "^15.4.0",
    "react-redux": "^5.0.2",
    "react-router": "^3.0.2",
    "react-simpletabs": "^0.7.0",
    "react-tabs": "^0.8.2",
    "redux": "^3.6.0",
    "redux-logger": "^2.8.1",
    "redux-promise-middleware": "^4.2.0",
    "redux-sequence-action": "^0.2.1",
    "redux-thunk": "^2.2.0",
    "sendgrid": "^5.0.1",
    "underscore": "^1.8.3",
    "whatwg-fetch": "^2.0.2"
  }
}