gpt4 book ai didi

javascript - 在 QUnit 中测试 SyntaxError 异常的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 21:31:14 24 4
gpt4 key购买 nike

我在 HTML 数据元素中有一些 JSON 数据:

<div id="ps-data" data-ps="
{
"teacherId": 12345678
},
"></div>

我使用 jQuery 的 parseJSON 函数解析它,但是如果我向它传递无效的 JSON,我会得到一个 SyntaxError 异常。在 QUnit 中,这显示为全局失败,但我希望它在我的一个测试用例中失败。最好的方法是什么?

我的解析代码如下:

$.parseJSON($('#ps-data').data().ps);

最佳答案

你可以这样做:

var exeptionReached = false;
try {
$.parseJSON($('#ps-data').data().ps);
} catch(e) {
exceptionReached = true;
}
console.log(exceptionReached); //will be true if `parseJSON()` threw an exception

使用 qunit 断言已达到异常......或者如果您想假设一些特定的东西,您可以从异常对象中保存一些东西,例如:

var ex;
try {
$.parseJSON($('#ps-data').data().ps);
} catch(e) {
ex = e;
}
console.log(ex.message); // something like "Unexpected token ,"

当然,您需要在访问属性之前检查 ex 是否已定义。我认为您应该能够了解如何测试异常是否发生以及如何测试有关该异常的细节……如果您有任何其他问题,请告诉我。

JSFiddle example

关于javascript - 在 QUnit 中测试 SyntaxError 异常的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21609541/

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