Gayan Charith
Gayan Charith

Reputation: 7501

sails js add a custom task

I am trying to add custom task to a sails js application. accroding to the documentation I create files in the following way. tasks/register/test.js

module.exports = function (grunt) {
    grunt.registerTask('test', ['mochaTest']);
};

tasks/config/mochaTest.js

module.exports = function(grunt) {

    grunt.config.set('mochaTest', {
        test: {
            options: {
                reporter: 'spec',
                captureFile: 'results.txt', // Optionally capture the reporter output to a file
                quiet: false, // Optionally suppress output to standard out (defaults to false)
                clearRequireCache: false // Optionally clear the require cache before running tests (defaults to false)
            },
            src: [
                'test/bootstrap.test.js',
                'test/unit/**/*.js'
            ]
        }
    });

    grunt.loadNpmTasks('grunt-mocha-test');
};

I have written test cases inside test/unit folder. I can run these test using grunt mochaTest command. But using 'sails lift --test' command does not run the test cases. instead it just run the sails application. I also tried the following command. () NODE_ENV=test sails lift It also does not run the test cases. It just run the sails application. (http://sailsjs.org/documentation/concepts/assets/task-automation) What am I missing here ?

Upvotes: 2

Views: 794

Answers (1)

Ovi
Ovi

Reputation: 604

Modify the file "tasks/register/default.js" to have the following code:

module.exports = function (grunt) {
    grunt.registerTask('default', ['compileAssets', 'linkAssets', 'grunt-mocha-test', 'watch']);
};

then just launch the app with "sails lift"

Upvotes: 1

Related Questions