大佬教程收集整理的这篇文章主要介绍了node.js – 如何正确测试承诺摩卡和柴?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
it('Should return the exchange rates for btc_ltc',function(done) { var pair = 'btc_ltc'; shapeshift.getRate(pair) .then(function(data){ expect(data.pair).to.equal(pair); expect(data.rate).to.have.length(400); done(); }) .catch(function(err){ //this should really be `.catch` for a Failed request,but //instead it looks like chai is picking this up when a test fails done(err); }) });
如何正确处理拒绝的承诺(并测试)?
我应该如何正确处理一个失败的测试(即:expect(data.rate).to.have.length(400);?
这里是我测试的实现:
var requestp = require('request-promise'); var shapeshift = module.exports = {}; var url = 'http://shapeshift.io'; shapeshift.getRate = function(pair){ return requestp({ url: url + '/rate/' + pair,json: true }); };
it('Should return the exchange rates for btc_ltc',function() { // no done var pair = 'btc_ltc'; // note the return return shapeshift.getRate(pair).then(function(data){ expect(data.pair).to.equal(pair); expect(data.rate).to.have.length(400); });// no catch,it'll figure it out since the promise is rejected });
由于这种方法是承诺的端到端,它更容易测试,你不必考虑奇怪的情况下,你正在想像像到处都是奇怪的done()调用。
这是摩卡对于其他图书馆,例如茉莉花目前的优势。你可能还想检查Chai As Promised,这将使它更容易(没有.then),但个人我更喜欢当前版本的清晰和简单
以上是大佬教程为你收集整理的node.js – 如何正确测试承诺摩卡和柴?全部内容,希望文章能够帮你解决node.js – 如何正确测试承诺摩卡和柴?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。