在TypeScript应用程序中使用测试覆盖率的Karma跑步者

时间:2018-02-28 02:31:34

标签: reactjs typescript webpack karma-runner istanbul

我正在使用一个使用Karma测试运行器的React / TypeScript应用程序,我们希望有测试覆盖率报告。

作为捆绑包,我们使用Webpack,因此Karma配置看起来像这样(我删除了无关紧要的行):

config.set({
    basePath: 'src',
    frameworks: ['mocha', 'chai', 'sinon'],
    files: [
        {pattern: 'src/my.ts'},
    ],
    preprocessors: {
        'src/my.ts': ['webpack', 'sourcemap', 'coverage'],
    },
    reporters: ['progress', 'coverage'],
    webpack: {
        module: webpackConfig.module,
        resolve: webpackConfig.resolve,
        plugins: [
            new webpack.SourceMapDevToolPlugin({
                filename: null,
                test: /\.(ts|tsx|js)($|\?)/i
            })
        ]
    },
});

问题是在我的报告中执行后,我得到了转换文件,而不是原始的TypeSctipt文件。

看起来它显示了覆盖范围(不合适的代码是红色等),但是以转换后的形式显示它是无用的。

我该如何解决?

我尝试使用karma-remap-istanbul,但收到错误消息Could not find source map for: src/my.ts

PS:我知道karma-typescript但是我需要使用webpack进行当前的转换,看起来需要付出很多努力来改变一切以使其与业力一起工作-typescript。

0 个答案:

没有答案