2017-09-29 1 views
0

J'utilise mocha et sinon pour les tests unitaires nodejs. Je les ai suivantesespionner une dépendance dans un test d'unité nodejs

users.js

const Database = require('./lib/Database'); 

exports.setupNewUser = (name) => { 
    var user = { 
    name: name 
    }; 

    try { 
    Database.save(user); 
    } 
    catch(err) { 
    console.error('something failed'); 
    } 
} 

Database.js

exports.save = (user) => { 
    console.log(`saving: ${user}`); 
}; 

userTest.js

const sinon = require('sinon'); 
require('chai').should(); 

const users = require('../src/users'); 

describe('users',() => { 
    it('should log an error when the Database save fails',() => { 
    var databaseSpy = sinon.spy(Database, 'save').throws(); // this is supposed to work?? 
    users.setupNewUser('Charles'); 
    databaseSpy.should.be.called; 
    }); 
}); 

Acc ording au sinon tutorials J'ai lu, je devrais être en mesure de créer ce databaseSpy mais je continue à obtenir cette erreur: ReferenceError: Base de données n'est pas définie

Que suis-je manquant?

Répondre

0

Cela semble être un problème de cheminement. Votre besoin pourrait ne pas être le bon chemin.

users.js

const Database = require('./lib/Database');

Où se trouve/lib/Base de données en relation avec le fichier users.js? Je pense que ce pourrait être un bon endroit pour commencer à regarder.