摩卡咖啡unit testing中的error handling

我有摩卡testing。 我会尽可能简化。 我想知道我应该如何处理摩卡testing中的错误。 例如,如果getName中有错误,我该怎么办? 我怎样才能抛出一个错误? 或者我应该使用done(error)作为;

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

如果使用非null参数调用done ,则testing将失败并被报告。 其他testing仍然会执行。

它允许你testing成功,但也为错误:

 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'); });