我正在学习使用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)
})
})
我也在使用
" custom-react-scripts":" ^ 0.2.1"
而不是默认的react-scripts。我认为这可能是问题,但是当我换回时它会抛出相同的错误。
" test":" react-scripts test --coverage --env = jsdom"