如何开玩笑地测试

德州697

我正在学习使用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”:“反应脚本测试--coverage --env = jsdom”

鲸鲨

基于这个这个,似乎这可以通过在创建反应的应用程序内的错误引起的。尝试在无覆盖模式下运行测试以查看其是否有效。

如果仍然无法正常工作,则错误的可能性将大大降低。也许.catch()在返回的promise后面附加一个,以查看您的函数中是否存在由于某种或另一种未被发现的错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章