gpt4 book ai didi

reactjs - 如何用 jest 进行测试

转载 作者:行者123 更新时间:2023-12-03 13:50:44 25 4
gpt4 key购买 nike

我正在学习使用 create-react-app 内置测试工具进行测试。我已经成功测试了一些愚蠢的组件和获取调用,但是当我添加一个简单的功能测试时出现了问题。我已经寻找答案,但我无法判断这是一个错误还是我做错了。这是我正在测试的功能。

 export default async function (trips, users) {
let arry = []

trips.forEach(trip => {
if (trip.get('distance') !== '0.0' || trip.get('distance') !== 0.0) {
users.forEach(user => {
let hours = 0
if (trip.get('userId') === user.get('id')) {
if (trip.get('duration')) {
hours += toSeconds(trip.get('duration'))
hours = toHHMMSS(hours)
hours = roundTime(hours)

const obj = {
hours: parseInt(hours), // eslint-disable-line
fullName: user.get('fullName'),
id: user.get('id')
}
arry.push(obj)
}
}
})
}
})

return arry
}

这是测试

 test('user hours for summary', () => {
let tripsData = testData.TRIPS_DATA
let usersData = testData.USERS_DATA
tripsData = Immutable.fromJS(tripsData)
usersData = Immutable.fromJS(usersData)
return userHours(tripsData, usersData).then(res => {
expect(res).toEqual(testData.USER_HOURS_RESULT)
})
})

这是控制台的屏幕截图 Screenshot

我也在用

"custom-react-scripts": "^0.2.1"

而不是默认的 react 脚本。我认为这可能是问题所在,但当我切换回来时,它抛出了同样的错误。

"test": "react-scripts test --coverage --env=jsdom"

最佳答案

基于thisthis ,这似乎可能是由 create-react-app 中的错误引起的。尝试在没有覆盖模式的情况下运行测试,看看它是否有效。

如果它仍然不起作用,那么存在错误的可能性就小得多。也许可以在您返回的 promise 中附加一个 .catch() ,以查看您的函数中是否存在以某种方式未被检测到的错误。

关于reactjs - 如何用 jest 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48026499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com