2014-06-24 2 views
2

J'essaie de faire fonctionner l'outil de couverture de code d'Istanbul avec une application Sails.js 0.10.x.Comment installer Istanbul en travaillant avec Sails.js 0.10.x?

J'ai vu http://blog.sergiocruz.me/unit-test-sailsjs-with-mocha-and-instanbul-for-code-coverage/ mais cela utilise 0.9.x, et suivre les mêmes étapes avec 0.10.x ne fonctionne pas en raison de changements dans la configuration de Grunt.

J'ai essayé de l'adapter comme suit:

  • tasks/config/istanbulCoverage.js:

    module.exports = function (grunt) { 
        grunt.config.set('mocha_istanbul', { 
        coverage: { 
         src: 'test', 
         options: { 
         coverageFolder: 'coverage', 
         mask: '**/*.spec.js', 
         root: 'api/' 
         } 
        } 
        }); 
    
        grunt.loadNpmTasks('grunt-mocha-istanbul'); 
    }; 
    
  • tasks/register/coverage.js:

    module.exports = function (grunt) { 
        grunt.registerTask('coverage', [ 
        'mocha_istanbul:coverage' 
        ]); 
    }; 
    

Mais résultats que dans le /coverage répertoire en cours de création mais aucun fichier créé en son sein.

Il n'y a aucun message d'erreur, tous les tests réussissent et tout semble correct, sauf qu'aucun rapport de couverture n'est créé.

Quelqu'un sait ce qui ne va pas? Je suis sur Windows si cela compte, mais j'essaierai un VM * nix plus tard.

+0

Ressemble à un problème avec sails.lower() en 0.10.x. Il supprime tous les auditeurs y compris apparemment Istanbul! https://github.com/balderdashy/sails/issues/1883#issuecomment-46927318 – blah238

+0

Avez-vous déjà eu ce travail @ blah238? –

+1

@JasonKulatunga Oui, c'est corrigé dans la branche master de Sails, mais il n'y a pas encore de version npm. Voir le lien dans mon commentaire précédent. – blah238

Répondre

0

J'ai mis à jour Sails à la version 0.1.4.4. Ma configuration est similaire à vous sauf que j'utilise grunt.registerTask('test',...). Ensuite, exécutez grunt test. Cela fonctionne bien, y compris le rapport de couverture. Essayez-le.