我有這個代碼:
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 我的函式時,它正確回傳了預期的 qjf 字串,但是,當我嘗試使用 Jest 運行測驗時:
test('pie returns qjf', () => [
expect(shift('pie)).toBe('qjf),
]);
運行測驗回傳:“測驗函式只能回傳 Promise 或 undefined。回傳值:Array [undefined,]”。不知道我做錯了什么,感謝您的幫助!
uj5u.com熱心網友回復:
您在測驗函式中使用方括號而不是大括號。這應該有效:
test('pie returns qjf', () => {
expect(shift('pie')).toBe('qjf'),
});
uj5u.com熱心網友回復:
您的測驗函式包含在 [] 而不是 {} 中。看起來您在 shift() 和 tobe() 函式引數中缺少單引號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/457280.html
標籤:javascript 单元测试 开玩笑的
下一篇:MockK的“每個”“回傳null”不是回傳“null”,而是一個具有null和false值的NetworkInfo物件
