Наступний тест веде себе дивно:
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
});
};
Ensure the done() callback is being called in this test
помилку при спробі зробити це за допомогою mocha 2.2.5.