美文网首页
karma+webpack+typescript+jasmine

karma+webpack+typescript+jasmine

作者: 游民小龙虾 | 来源:发表于2019-06-04 21:51 被阅读0次

    1.安装依赖包:
    npm install karma-jasmine karma-chrome-launcher jasmine-core karma-cli --save-dev;// karma 框架所需依赖包
    npm install --save-dev jasmine; // 安装jasmine
    npm install --save-dev typescript ts-loader;
    npm install --save-dev webpack;
    npm install --save-dev karma-webpack;
    2.在项目根目录下创建typescript 配置文件 tsconfig.json:

    {
      "compilerOptions": {
        "outDir": "./dist/",
        "sourceMap": true,
        "noImplicitAny": true,
        "module": "commonjs",
        "target": "es5",
        "jsx": "react",
        "allowJs": true
      }
    }
    

    3.在项目根目录下创建karma 配置文件karma.conf.js:

    // Karma configuration
    // Generated on Tue Jun 04 2019 21:20:40 GMT+0800 (CST)
    
    module.exports = function(config) {
      config.set({
    
        // base path that will be used to resolve all patterns (eg. files, exclude)
        basePath: '',
    
    
        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine'],
    
    
        // list of files / patterns to load in the browser
        files: [
          'test/**/*.Spec.ts'
        ],
    
    
        // list of files / patterns to exclude
        exclude: [
        ],
    
    
        // preprocess matching files before serving them to the browser
        // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
        preprocessors: {
          'test/**/*.Spec.ts': 'webpack'
        },
    
        webpack: {
          module: {
            rules: [
              {
                test: /\.ts$/,
                loader: 'ts-loader'
              }
            ]
          },
          resolve: {
            extensions: ['.ts']
          }
        },
    
        // test results reporter to use
        // possible values: 'dots', 'progress'
        // available reporters: https://npmjs.org/browse/keyword/karma-reporter
        reporters: ['progress'],
    
    
        // web server port
        port: 9876,
    
    
        // enable / disable colors in the output (reporters and logs)
        colors: true,
    
    
        // level of logging
        // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
        logLevel: config.LOG_INFO,
    
    
        // enable / disable watching file and executing tests whenever any file changes
        autoWatch: true,
    
    
        // start these browsers
        // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
        browsers: ['Chrome'],
    
    
        // Continuous Integration mode
        // if true, Karma captures browsers, runs the tests and exits
        singleRun: false,
    
        // Concurrency level
        // how many browser should be started simultaneous
        concurrency: Infinity
      })
    }
    
    

    相关文章

      网友评论

          本文标题:karma+webpack+typescript+jasmine

          本文链接:https://www.haomeiwen.com/subject/nefdxctx.html