reactjs – 如何用jest测试
发布时间:2020-12-15 09:36:45 所属栏目:百科 来源:网络整理
导读:我正在学习使用create-react-app内置测试工具进行测试.我已经成功测试了一些哑组件并获取了调用,但是当我添加一个简单的函数测试时出现了问题.我已经搜索了答案,我不知道这是一个错误还是我做错了.这是我正在测试的功能. export default async function (tri
我正在学习使用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) }) }) 这是控制台的截图 我也在用
而不是默认的react-scripts.我认为这可能是问题,但是当我换回时它会抛出相同的错误.
解决方法
基于
this和
this,似乎这可能是由create-react-app中的错误引起的.尝试在没有覆盖模式的情况下运行测试以查看它是否有效.
如果它仍然不起作用,则存在错误的可能性要小得多.也许将.catch()附加到您返回的承诺中,以查看您的函数中是否存在错误,这种错误是通过某种方式未被发现而获得的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |