Comment l'unité de tester une méthode qui se connecte à mongo, sans connexion à mongo?

Je suis en train d'écrire un test pour tester une méthode qui se connecte à mongo, mais je n'ai pas vraiment envie d'avoir mongo en cours d'exécution et, en fait, la connexion à celui-ci d'avoir mes tests à passer avec succès.

Voici mon test est réussi lorsque mon mongo démon est en cours d'exécution.

describe('with a valid mongo string parameter', function() {
    it('should return a rejected promise', function(done) {
        var con = mongoFactory.getConnection('mongodb://localhost:27017');
        expect(con).to.be.fulfilled;
        done();
    });
});

mongoFactory.getConnection code:

getConnection: function getConnection(connectionString) {

      //do stuff here

        //Initialize connection once
        MongoClient.connect(connectionString, function(err, database) {
          if (err) {
            def.reject(err);
          }

          def.resolve(database);
        });

      return def.promise;
    }
Une bonne raison pourquoi je veux c'est que mes tests d'unité tous s'appuient sur la réalité de la connexion à mongo, de sorte qu'ils échouent si mongod n'est pas en cours d'exécution. Ce qui signifie qu'ils ont tous échoué lors de la construction sur travis ci par exemple.
double possible de: stackoverflow.com/questions/12526160/... et stackoverflow.com/questions/10378116/...
aucune expérience de ce type, mais au premier coup d'œil Sinon.JS peut aider à l'aide de talons et se moque: npmjs.org/package/sinon

OriginalL'auteur Catfish | 2014-08-30