字符串中递增字符的问题 (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() 函数参数中的单引号。