Search code examples
javascriptnode.jsjasminejasmine-node

How to spy on another module in node with Javascript


I have this js module (simplified example):

var dbLoader = require('dbLoader');
function MyModule() {
  this.build(){
     return dbLoader.load('yipee');
  }
}
module.exports = MyModule;

How on earth do I spyOn(dbLoader,'load') ??

Because when I try I get the error

spyOn could not find an object to spy upon for load()

Any help much appreciated...


Solution

  • You probably should export them both:

    module.exports.MyModule = MyModule;
    module.exports.dbLoader = dbLoader;
    

    The you can import them as follows:

    var MyModule = require('my-module').MyModule;
    var dbLoader = require('my-module').dbLoader;