为什么反对。匿名
的package.json:
package.json:
{
"name": "SmartConverter",
"version": "1.0.0",
"main": "./src/js/main.js",
"scripts": {
"test": "jest --coverage",
"build": "webpack --config ./scripts/*/webpack.config.js"
},
"repository": "https://github.com/raushankumarnitdgp/SmartConverter.git",
"author": "raushankumarnitdgp <raushankumar.nitdgp@gmail.com>",
"license": "MIT",
"dependencies": {
"babel-cli": "^6.24.1",
"babel-core": "^6.25.0",
"babel-jest": "^20.0.3",
"babel-loader": "^7.1.1",
"babel-preset-es2015": "^6.24.1",
"eslint": "^4.4.1",
"jest": "^20.0.4",
"jest-cli": "^20.0.4",
"regenerator-runtime": "^0.10.5",
"webpack": "^3.5.2"
}
}
答案 0 :(得分:1)
您在错误stracktrace中看到的anonymous
关键字只是告诉您错误发生在匿名函数中。匿名函数是没有名称的函数,通常用作回调但不总是。例如:
function main() {
myLibrary.doSomething('foo', function() {
console.log('I have finished')
})
}
传递给myLibrary.doSomething
的函数是一个匿名函数。您看到的错误似乎发生在phone.js
文件的第20行。检查您在哪里使用.length
。
答案 1 :(得分:1)
我认为可能还没有设置一些道具,例如,如果您在ComponentX内拥有一个名为expenses的属性,但是在笑话文件中,您没有预先设置此expenses属性,
例如:<ComponentX />
,忘记将道具传递到此ComponentX中,而Jest找不到支出属性的位置,支出将是不确定的,然后是不确定的。长度肯定会导致该不确定的错误。
我们如何解决这个费用。长度未定义的问题?
我们可以这样做:<ComponentX expenses={mockExpenses} />
现在,expenses.length不应不确定,因为支出包含一些数据。