2015-03-19 20 views

cevap

35

Burada çeşitli teknikler kullanabilirsiniz: karma bazı yollar dışlamak için bu yararlanabilir dosya yolları ve kullanıma minimatch globs kullanır.

ben deneyin kapsama preprocess dosyanın sadece yolları eklemek söyleyebilirim ilk çözüm olarak

:

// karma.conf.js 
module.exports = function(config) { 
    config.set({ 
    files: [ 
     'src/**/*.js', 
     'test/**/*.js' 
    ], 

    // coverage reporter generates the coverage 
    reporters: ['progress', 'coverage'], 

    preprocessors: { 
     // source files, that you wanna generate coverage for 
     // do not include tests or libraries 
     // (these files will be instrumented by Istanbul) 
     'src/**/*.js': ['coverage'] 
    }, 

    // optionally, configure the reporter 
    coverageReporter: { 
     type : 'html', 
     dir : 'coverage/' 
    } 
    }); 
}; 

yukarıda bir karma-kapsama varsayılan örneğidir ve bu sadece bu gösteriyor src klasöründeki dosyalar önceden işlenecek.

bir püf belirli yolları hariç tutmak ! operatörü kullanmak olabilir:

preprocessors: { 
    // source files, that you wanna generate coverage for 
    // do not include tests or libraries 
    'src/**/!(*spec|*mock).js': ['coverage'] 
}, 

biri yukarıda sadece spec.js veya mock.js ile bitmez bu JavaScript dosyalar üzerinde kapsama çalışmasını yapar. Aynı klasörler için yapılabilir:

preprocessors: { 
    // source files, that you wanna generate coverage for 
    // do not include tests or libraries 
    'src/**/!(spec|mock)/*.js': ['coverage'] 
}, 

spec veya mock klasöründe herhangi JavaScript dosyalarını işlemek vermeyin.

+0

yup, tam olarak ihtiyacım olan şey, yardımcı olduğunuz için teşekkürler. –

+3

İpucu: src/spec ve src/mock klasörlerinde bulunuyorsa, tüm spec ve alay klasörleri hariç tutulur, ardından şöyle kullanılır: ''src /! (Spec | mock)/**/*. Js': [ 'kapsama'] ' –