Search code examples
mocha.jsyeomanboweryeoman-generator

Testing Yeoman generator with bowerInstall and/or npmInstall


I have a Yeoman generator that uses this.bowerInstall()

When I test it, it tries to install all the bower dependencies that I initialized this way. Is there a way to mock this function ?

The same goes for the this.npmInstall() function.


Solution

  • Take a look at the tests for the Bootstrap generator, it contains an example of mocking the bowerInstall() function:

    beforeEach(function (done) {
        this.bowerInstallCalls = [];
    
        // Mock bower install and track the function calls.
        this.app.bowerInstall = function () {
            this.bowerInstallCalls.push(arguments);
        }.bind(this);
    
    }.bind(this));