day5:在angular2中集成jasmine測試

安裝jasmine的環境(karma+jasmine)javascript

  一.在npm包的devdependencies添加以下包:java

http-server
jasmine-core 
karma 
karma-phantomjs-launcher 
karma-coverage
karma-jasmine

 

  二,配置karma.conf.js文件:node

module.exports = function(config) {
    config.set({

        basePath: '.',

        frameworks: ['jasmine'],

        files: [
            // paths loaded by Karma
            // {pattern: 'node_modules/angular2/bundles/angular2-polyfills.js', included: true, watched: true},
            {pattern: 'node_modules/systemjs/dist/system.src.js', included: true, watched: true},
            // {pattern: 'node_modules/rxjs/bundles/Rx.js', included: true, watched: true},
            // {pattern: 'node_modules/angular2/bundles/angular2.dev.js', included: true, watched: true},
            // {pattern: 'node_modules/angular2/bundles/testing.dev.js', included: true, watched: true},
            {pattern: 'karma-test-shim.js', included: true, watched: true},

            // paths loaded via module imports
            // {pattern: 'dev/*.js', included: false, watched: true},
            {pattern: 'unit-test/javascript-test/*.js', included: false, watched: true}
            // paths to support debugging with source maps in dev tools
            // {pattern: 'dev/*.ts', included: false, watched: false},
            // {pattern: 'dev/*.js.map', included: false, watched: false}
        ],

        // proxied base paths
        // proxies: {
        //     // required for component assests fetched by Angular's compiler
        //     '/src/': '/base/src/'
        // },

        port: 9876,

        logLevel: config.LOG_INFO,

        colors: true,

        autoWatch: true,

        browsers: ['PhantomJS'],

        // Karma plugins loaded
        plugins: [
            'karma-jasmine',
            'karma-coverage',
            'karma-chrome-launcher'
        ],

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

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

        coverageReporter: {
            type : 'cobertura',
            dir : 'coverage/'
        },

        singleRun: true
    })
};

 

三,添加相應的ts及js測試目錄及文件chrome

四,配置npm裏的script,添加以下:typescript

"build": "rm unit-test/javascript/*.js && tsc -p unit-test/typescript/*.ts",
"start": "http-server -c-1 -o -p 8875 .",
"test": "karma start karma.conf.js",
"coverage": "http-server -c-1 -0 -p 9875 ./coverage"

 

開始測試npm

相關文章
相關標籤/搜索