测试报错

来源:5-17 单元测试-测试接口

光天化日之下

2020-03-23

// 重复注册
		test('重复注册用户,应该失败', async () => {
		  const res = await server
		      .post('/api/user/register')
		      .send(testUser)
		  expect(res.body.errno).not.toBe(0)
		})

跑测试用例的时候,上面这一段代码运行的时候出现红色
图片描述

根据错误提示找到了controller/user.js 的代码

try {
    await createUser({
        userName,
        password: doCrypto(password),
        gender
    })
    return new SuccessModel()
} catch (ex) {
    console.error(ex.message, ex.stack)
    return new ErrorModel(registerFailInfo)
}

老师的代码也使用了console.error(ex.message, ex.stack),为什么我的这里会报错,老师的视频里面演示没有报错

================================================================

补充

经过试验,注释掉console.error(ex.message, ex.stack),就没有红色部分。
有红色部分的时候,测试用例也是可以通过的,并且网页创建用户、检查用户的所有功能都是正常的。
貌似在运行npm run test 的时候,代码里面的console.log或者console.error都会打印出来,不是真正意义上的“错误”

图片描述

图片描述

写回答

1回答

双越

2020-03-23

报错不是因为我用了 console.error ,如果单元测试有报错,即便是删掉 console.error 它也会照样报错。跟这一行没关系。

这里是创建用户时报错,可以运行起服务来,用网页测一测创建用户,是否报错?

0
4
双越
回复
光天化日之下
对,那符合。
2020-03-24
共4条回复

Node.js+Koa2框架生态实战 - 从零模拟新浪微博

用 Koa2 做真正的实战项目,不再只是增删改查的小白工程师

964 学习 · 388 问题

查看课程