2015-02-03 11 views
5

Sagen Sie, ich habe den folgenden Code zu ignorieren:Istanbul.js Getting die definieren (require.js) Definition

define([ 
    'a' 
], function(a) { 
    return { 
     initialize: function() { 

     }, 

     stuff: function() { 

     } 
    }; 
}); 

Istanbul berichtet, dass nur 1/3 Funktionen getestet wurden. Das stimmt, denn ich habe nur einen Test gegen main.initialize durchgeführt.

Wie kann ich Istanbul dazu bringen, die für define Callback verwendete Funktion zu ignorieren?

Edit: Zusätzliche Gruntfile.js Config

jasmine: { 
    coverage: { 
     src: 'src/assets/js/app/**/*.js', 
     options: { 
      specs: 'src/assets/js/spec/**/*Spec.js', 
      host: 'http://127.0.0.1:8000/', 
      template: require('grunt-template-jasmine-istanbul'), 
      templateOptions: { 
       //files: 'src/assets/js/app/**/*.js', 
       coverage: 'bin/coverage/coverage.json', 
       report: [ 
        {type: 'html', options: {dir: 'src/coverage/html'}}, 
        {type: 'text-summary'} 
       ], 
       template: require('grunt-template-jasmine-requirejs'), 
       templateOptions: { 
        requireConfig: { 
         baseUrl: 'src/assets/js', 
         paths: { 
       /*   'jquery': 'lib/jquery', 
          'underscore': 'lib/lodash', 
          'text': 'lib/text', 
          'i18n': 'lib/i18n',*/ 
         } 
        } 
       } 


      }, 
      keepRunner: true 
     } 
    } 
} 

Edit: Beispiel Spec

define([ 
    'app/main' 
], function(main) { 
    describe('app/main', function() { 
     it('initailize should not error', function() { 
      expect(main.initialize()).toBe(undefined); 
     }); 
    }); 
}); 

Antwort

2

Istanbul lassen Sie definieren Ihre eigene explizit im Code ignoriert here

Sie können /* istanbul ignore define */ bei der Verwendung oben in der Datei, um zu verhindern, dass define(...) überprüft wurde.

Hoffen, dass es helfen wird

+0

Ich war nicht in der Lage, es zu testen (wie ich auf mit Karma stattdessen bewegt, was nicht dieses Problem hat). Aber du hast geantwortet, und jemand anderes, der deine Antwort überprüft hat, hat mich glauben lassen, du hättest das Kopfgeld verdient. Viel Spaß und Danke. – jshthornton