2015-06-30 21 views
13

Günaydın,Karma Kod Kapsamı - Her zaman% 100?

Çözemediğim bir tuhaf sorun yaşıyorum. Karma testlerimi yazdım ve doğru bir şekilde çalıştırdım, ama Karma için kod kapsamını kurmaya çalıştığımda ne olursa olsun% 100 tükürüyor.

Burada ortaya atılan diğer sorulara baktım ve bunların hiçbiri sorunumu çözmüyor gibiydi. Herhangi bir yardım büyük takdir edilecektir.

kullanma:

İşte
"karma": "~0.12.37", 
"karma-babel-preprocessor": "^5.2.1", 
"karma-browserify": "^4.2.1", 
"karma-coverage": "^0.4.2", 
"karma-jasmine": "~0.3.5", 
"karma-phantomjs-launcher": "^0.2.0", 

benim karma.conf.js

module.exports = function (config) { 
    config.set({ 
    basePath: '', 

    frameworks: ['browserify', 'jasmine'], 

    files: [ 
     'bower_components/jquery/dist/jquery.js', 
     'bower_components/angular/angular.js', 
     'bower_components/angular-animate/angular-animate.js', 
     'bower_components/angular-cookies/angular-cookies.js', 
     'bower_components/angular-mocks/angular-mocks.js', 
     'bower_components/angular-resource/angular-resource.js', 
     'bower_components/angular-sanitize/angular-sanitize.js', 
     'bower_components/angular-touch/angular-touch.js', 
     'bower_components/angular-ui-router/release/angular-ui-router.js' 
     'src/*.html', 
     'src/**/*.html', 
     'src/app/index.js', 
     'src/app/**/*.js' 
    ], 

    exclude: [], 

    preprocessors: { 
     'src/app/index.js': ['browserify', 'coverage'], 
     'src/app/**/*.js': ['browserify', 'coverage'] 
    }, 

    browserify: { 
     debug: true, 
     transform: ['babelify', 'stringify'] 
    }, 

    reporters: ['progress', 'coverage'], 

    port: 9876, 

    colors: true, 

    autoWatch: true, 

    browsers: ['PhantomJS'], 

    singleRun: false 
    }); 
}; 

Dosyam yapısı şöyledir:

src 
    app 
    login 
     login.controller.js 
     login.controller.spec.js 
     login.html 
    index.js 
karma.conf.js 

teşekkür ederiz!

+2

Hem "karma-tarayıcı" hem de "karma kapsama alanı önişlemcileri" birlikte kullanıldığında. Browserify ve istanbul'u (hangi karma kapsamı kullanır) birlikte kullanan bir çalışma yapılandırması için http://stackoverflow.com/a/28237582/2943490 adresine bakın. – user2943490

cevap

1

browserify-istanbul dönüşümü kullandınız mı?

module.exports = function(config) { 
    config.set({ 
     // ... 
     browserify: { 
      transform: ['browserify-istanbul', ...] 
     } 
    }); 
}; 

Kapsam metrikleri toplamak için kodunuzu "almanız" gerekir. Yani, require ile modülü döndürmeden önce enstrümantasyon uygulamak için browserify söylemelisiniz.

İlgili konular