Donc, je voudrais nettoyer mon db (avant ou) après quelques tests unitaires.Accès Mongodb en test moka
Fondamentalement, le code que vous verrez dans mes blocs de code est dans le bloc afterAll
de moka. J'utilise webdriver.io testrunner pour exécuter mes tests.
Ce que je ne comprends pas, comment utiliser des trucs db en dehors du champ de connexion, voir:
function createConnection(){
MongoClient.connect('mongodb://127.0.0.1:24001/meteor', function(err, db) {
if (err)
throw err;
console.log("connected to the mongoDB !");
let myCollection = db.collection('test_collection');
// do stuff with myCollection
});
}
je préférerais, si possible, quelque chose comme ceci:
function createConnection(){
MongoClient.connect('mongodb://127.0.0.1:24001/meteor', function(err, db){
if (err)
throw err;
}
}
function getCollection(name){
return db.collection(name) //don't have db at this scope, problem?
}
//app.js
createConnection();
let myCollection = getCollection('data');
...//do stuff with myCollection
closeConnection();
Est-ce possible?
Essayez-vous d'accéder à la base de données réelle? – lukaleli
oui mongodb 2.6.7, ou comment puis-je comprendre votre question? – Gobliins
C'est une mauvaise idée. Vous vous moquez toujours de la base de données pour vos tests. La même chose s'applique aux demandes http. Regardez quelque chose comme https://github.com/williamkapke/mongo-mock et utilisez-le à la place de la base de données réelle. – lukaleli