gpt4 book ai didi

javascript - Jasmine .toThrow 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:50 26 4
gpt4 key购买 nike

我有以下功能:

function checkforLandP(n){
if(n[0]=== '£' && n[n.length-1] === 'p'){
// remove the p
n =n.slice(0, -1);
// remove the £
n = n.substr(1);

// take the value and multiply by 100
n =Math.round(n*100);
if(isNaN(n)){
window.alert('Please enter a valid number');
throw ('Please enter a valid number');
}
}
return n;
};

和以下测试:

describe("check for £ and p", function(){
it("checks the array for £ and p together", function(){
expect(checkforLandP('£234p')).toBe(23400);
expect(checkforLandP(234)).toBe(234);
expect(checkforLandP('asdfsdf')).toBe('asdfsdf');
expect(checkforLandP('£asdfsdfp')).toThrow("Please enter a valid number");
});
});

测试失败返回:Please enter a valid number thrown

我一直在研究语法,几乎一切似乎都没有问题。

最佳答案

你应该传递一个将被执行的函数而不是结果,你可以用匿名函数试试这个。

expect(function() {checkforLandP('£asdfsdfp'); } ).toThrow("Please enter a valid number");

另请参阅此答案:

https://stackoverflow.com/a/4144803/2419919

关于javascript - Jasmine .toThrow 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32728356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com