Bài kiểm tra sau đây có hành vi kỳ quặc:
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);
})
});
Làm thế nào tôi nên xử lý đúng một lời hứa bị từ chối (và kiểm tra nó)?
Làm thế nào tôi nên xử lý đúng một bài kiểm tra thất bại (ví dụ : expect(data.rate).to.have.length(400);
?
Đây là triển khai tôi đang thử nghiệm:
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
});
};
Ensure the done() callback is being called in this test
lỗi khi thử làm điều này với mocha 2.2.5.