gpt4 book ai didi

javascript - 在 chai 中测试错误类型

转载 作者:数据小太阳 更新时间:2023-10-29 04:38:47 25 4
gpt4 key购买 nike

<分区>

我目前正在使用 chai 测试我的应用。我想测试我的方法之一抛出的错误。为此,我编写了这个测试:

expect ( place.updateAddress ( [] ) ).to.throw ( TypeError );

方法如下:

Place.prototype.updateAddress = function ( address ) {
var self = this;

if ( ! utils.type.isObject ( address ) ) {
throw new TypeError (
'Expect the parameter to be a JSON Object, ' +
$.type ( address ) + ' provided.'
);
}

for ( var key in address ) if ( address.hasOwnProperty ( key ) ) {
self.attributes.address[key] = address[key];
}

return self;
};

问题是 chai 在测试中失败,因为它的方法抛出一个... TypeError。这不应该失败,因为这是预期的行为。这是声明:

enter image description here

我已经通过以下测试绕过了这个问题:

    try {
place.updateAddress ( [] );
} catch ( err ) {
expect ( err ).to.be.an.instanceof ( TypeError );
}

但我更愿意在我的测试中避免使用 try...catch 语句,因为 chai 提供了内置方法,例如 throw

有什么想法/建议吗?

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