老师,有个问题我百思不得其解,虽然是小问题,也可以跳过,但还是麻烦老师帮我看看。
是这样的,我在单元测试中测试at列表功能时,发现一个问题,为了方便,我把lisi的字符串常量写到代码块里了,整个代码块是这样的:
test('获取at列表,应该能成功', async () => {
const LUSERNAME = 'lisi';
const result = await server
.get('/api/user/getAtlist')
.set('cookie', Z_COOKIE);
function checkUser(user) {
return user.indexOf(`- ${LUSERNAME}`);
}
const haveUser = result.body.some(user => {
return checkUser(user);
});
expect(haveUser).toBeTruthy();
});
这样做,是没有问题的,但是当我把第八行代码改为return user.indexOf(LUSERNAME);
或者return user.indexOf(${LUSERNAME});
时,就报错了,说received False,也就是说如果我不是用- ${LUSERNAME}
这样的字符串模板写法就会报错。我在外面专门写了个函数测试indexOf函数,代码是这样写的
const strExa = ['why - whyit', 'what - what'];
const WHY = 'whyit';
function checkIndex(str) {
return str.indexOf(WHY);
}
const result = checkIndex(strExa[0]);
const result2 = strExa.some(item => {
return checkIndex(item) > 0;
});
console.log(result);
console.log('第二个结果是:', result2);
得出的结果是这样的:
7
第二个结果是: true
在测试中发现完全没有必要写模板字符串啊,查也查不出来原因。虽然是个小问题,但是就是有点难受,老师请指导一下,谢谢!