gpt4 book ai didi

node.js - Mocha 单元测试中的错误处理

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:23 25 4
gpt4 key购买 nike

我有 Mocha 测试。我会尽可能简化。我想知道我应该如何处理 Mocha 测试中的错误。例如,如果getName出现错误,我该怎么办?我怎样才能抛出错误?或者我应该使用 done(error) as;

 it('trial', function(done) {
getName(function (name, err) {
if(err){
done(err); //what should I do here?
}else{
console.log(name);
}
});
});

最佳答案

如果使用 undefined 以外的参数调用 done,则测试将失败并进行报告。其他测试仍将执行。

它允许您测试是否成功,也可以测试错误:

it('succeed', (done) => {
myFunc('success', (err, res) => {
if(err) {
done(err);
} else if(res !== 'expected') {
done('Wrong result ' + res);
} else {
done();
}
});
});

it('fail with error 404', (done) => {
myFunc('fail', (err, res) => {
if(err) {
if(err === 404) {
done();
} else {
done('Error was expected to be 404, got ' + err);
}
} else {
done('Was expected to fail, got result ' + res + ' and no error');
}
});
});

it('succeed', (done) => {
try {
var res = myFuncSync('succeed');
} catch(err) {
done(err);
}
done();
});

it('fail with error 404', (done) => {
try {
var res = myFuncSync('succeed');
} catch(err) {
if(err === 404) {
done();
} else {
done('Error was expected to be 404, got ' + err);
}
}
done('Was expected to fail, got result ' + res + ' and no error');
});

关于node.js - Mocha 单元测试中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243273/

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