gpt4 book ai didi

javascript - 如何期待与 Mocha 和 Chai 的 throw ?

转载 作者:行者123 更新时间:2023-12-02 23:56:13 25 4
gpt4 key购买 nike

我无法找到用 Mocha 和 Chai 捕捉抛出的绳子的解决方案

正在测试的代码:

function SimpleDate(year, month, day) {
if (!isValidDate(year, month, day)) {
throw "invalid date";
}
}

测试代码:

it("returns 'invalid date' for year = 2023, month = 13, day = 55", function () {
let actual = new DateUtils.SimpleDate(2013, 13, 55);
//let expected ='invalid date';
let expected = expect(() => DateUtils.SimpleDate(2013, 13, 55)).to.throw('invalid date');


assert.equal(actual, expected);
});

我希望测试能够通过,但我尝试的代码失败,提示“错误:抛出了字符串“无效日期”,抛出错误:)”

最佳答案

事实证明,解决方案是定义一个包装函数来调用您正在测试的函数,然后将包装函数传递给assert.throws

it("returns 'invalid date' for year = 2023, month = 13, day = 55", function () {
let year = 2013,
month = 13,
day = 55;
let expectedMessage = 'invalid date';
let wrapper = function () {
let x = DateUtils.SimpleDate(year, month, day);
}

assert.throws(wrapper, expectedMessage);
});

关于javascript - 如何期待与 Mocha 和 Chai 的 throw ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55369867/

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