字符串中递增字符的问题 (Javascript)
Issues incrementing characters in a string (Javascript)
我有这个代码:
function shift(str) { let newStr = [];
for (let i = 0; i < str.length; i++) {
newStr[i] = String.fromCharCode(str[i].charCodeAt() + 1 //numbers > 1 returns a successful unit test);
}
newStr = newStr.join('');
return newStr;
}
console.log(shift('pie')); // returns qjf
module.exports = shift;
当我 console.log 我的功能正常时 return 是 qjf 的预期字符串,但是,当我尝试 运行 使用 Jest 进行测试时:
test('pie returns qjf', () => [
expect(shift('pie)).toBe('qjf),
]);
运行 tests returns:“测试函数只能return Promise 或 undefined。返回值:Array [undefined,]”。不确定我做错了什么,感谢您的帮助!
您在测试函数中使用的是方括号而不是大括号。这应该有效:
test('pie returns qjf', () => {
expect(shift('pie')).toBe('qjf'),
});
您的测试函数包装在 [] 而不是 {} 中。看起来您还缺少 shift() 和 tobe() 函数参数中的单引号。
我有这个代码:
function shift(str) { let newStr = [];
for (let i = 0; i < str.length; i++) {
newStr[i] = String.fromCharCode(str[i].charCodeAt() + 1 //numbers > 1 returns a successful unit test);
}
newStr = newStr.join('');
return newStr;
}
console.log(shift('pie')); // returns qjf
module.exports = shift;
当我 console.log 我的功能正常时 return 是 qjf 的预期字符串,但是,当我尝试 运行 使用 Jest 进行测试时:
test('pie returns qjf', () => [
expect(shift('pie)).toBe('qjf),
]);
运行 tests returns:“测试函数只能return Promise 或 undefined。返回值:Array [undefined,]”。不确定我做错了什么,感谢您的帮助!
您在测试函数中使用的是方括号而不是大括号。这应该有效:
test('pie returns qjf', () => {
expect(shift('pie')).toBe('qjf'),
});
您的测试函数包装在 [] 而不是 {} 中。看起来您还缺少 shift() 和 tobe() 函数参数中的单引号。