I have this little test:
const mongo = require('mongodb').MongoClient;
const dbString = 'mongodb://localhost:27017/tests';
describe("In mongodb", function () {
beforeEach(function (done) {
mongo.connect(dbString)
.then(function (currentDb) {
done()
})
.catch(function (e) {
done(e)
});
});
it('Empty test', function () {
return;
});
});
And this little Bitbucket pipeline
image: node:6.9.4
pipelines:
default:
- step:
services:
- mongo
script:
- npm install
- npm install -g mocha
- mocha
definitions:
services:
mongo:
image: mongo
The problem is that the Mocha test never ends! I can see the end:
1 passing (37ms)
But the "mocha" action never ends in Bitbucket. In all our computers this works OK.
I found a solution closing the mongodb connection from the tests (i.e. using "after" and doing db.close for each mongo.connect), but I want to know why the behavior of this is different in pipelines and in our computers, and how to solve it without change our tests...