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"
}
}