karma-remap-istanbul正在生成源旁边的coverage html

问题描述 投票:1回答:1

我正在尝试为我的Aurelia(+ webpack + TypeScript)网站设置单元测试。我的karma.conf.js如下所示(类似于在aurelia-navigation骨架中完成的操作):

"use strict";
const path = require('path');

module.exports = function (config) {
  config.set({
    basePath: __dirname,
    frameworks: ['jasmine'],
    exclude: [],

    files: [{
      pattern: 'spec-bundle.js',
      watched: false
    } ],

    preprocessors: {
      'spec-bundle.js': ['coverage', 'webpack', 'sourcemap']
    },

    webpack: require('../webpack.config'),

    coverageReporter: {
      reporters: [
        {
          type: 'json',
          subdir: '.',
          file: 'coverage-final.json'
        },
        {
          type: 'html',
          dir: path.join(__dirname, 'coverage/'),
          subdir: '.'
        }
      ]
    },

    remapIstanbulReporter: {
      src: path.join(__dirname, 'coverage/coverage-final.json'),
      reports: {
        html: path.join(__dirname, 'coverage/remapped/')
      }
      // ,
      // timeoutNotCreated: 1000,
      // timeoutNoMoreFiles: 1000
    },

    webpackServer: { noInfo: true },

    reporters: ['mocha', 'coverage', 'karma-remap-istanbul'],    

    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: false,
    browsers: [
      // 'Chrome',
      'SlimerJS'
    ],
    singleRun: true
  });


  console.log(config);
};

我的文件夹结构如下:

Website
|-src
|-test
| |-coverage
| |-unit 
| | |-*.spec.ts
| |-karma.conf.js
| |-spec.bundle.js //as given by aurelia-navigation skeleton
|-webpack.config.js

问题是karma-remap-istanbul正在将coverage htmls转储到源旁边,而不是在test/coverage/remapped/中输出所有内容。

我是否为此缺少任何配置?

javascript karma-runner aurelia istanbul karma-coverage
1个回答
0
投票

尝试如下更新remapIstanbulReporter属性。

    remapIstanbulReporter: {
            src: path.join(__dirname, 'coverage/coverage-final.json'),
            reports: {
                html: 'test/coverage/remapped'
            }

    }

诀窍是在放置路径时给出'./',它将相对路径w.r.t移至文件夹结构中文件的位置。

当您将路径指定为'folder / folderA / folderB'时,它将采用绝对路径。

© www.soinside.com 2019 - 2024. All rights reserved.