2015-02-03 5 views
5

Dire che ho il seguente codice:Ottenere Istanbul.js di ignorare la definizione define (require.js)

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

     }, 

     stuff: function() { 

     } 
    }; 
}); 

Istanbul riferisce che solo 1/3 funzioni sono state testate. Il che è un po 'vero in quanto ho eseguito solo un test contro main.initialize.

Come posso convincere Istanbul a ignorare la funzione utilizzata per definire il callback?

Edit: Ulteriori 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: Esempio Spec

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

risposta

2

Istanbul ti permette di definire il proprio personalizzato ignora esplicitamente nel codice here

È possibile utilizzare /* istanbul ignore define */ al parte superiore del file per impedire define(...) da controllato.

Spero che ti aiuto

+0

ero in grado di verificare il lavoro svolto (come mi sono trasferito sul usando Karma, invece, che non ha avuto questo problema). Ma tu hai risposto, e qualcun altro che ha controllato la tua risposta mi ha fatto credere che tu meritassi la grazia. Divertiti, e grazie. – jshthornton