在Vue.js单元测试期间获得错误的测试覆盖范围

时间:2018-10-18 08:20:17

标签: unit-testing vue.js webpack mocha karma-runner

我正在尝试使用karma + mocha + chai + webpack进行Vuejs单元测试,并通过伊斯坦布尔获得代码覆盖率。

这里是问题,当我在要测试的组件中导入一些utils函数或其他组件时,得到的代码覆盖范围将包括那些utils代码。这不是我想要的。

在我要测试的组件中:

// src/home/mod_setting/upgrade_management/common/uploader.vue

import FileUploader from 'src/components/file_upload/index';
import Uploader from './uploader';
import logger from 'src/util/logger';

覆盖率报告将包括这些文件。 enter image description here

有解决方案吗?

1 个答案:

答案 0 :(得分:0)

这应该可以通过影响karma conf中的“预处理器”条目来实现:只有与之匹配的文件才会受到覆盖。

请参阅以下问题> https://github.com/karma-runner/karma-coverage/issues/13

在您的情况下,类似

preprocessor: { 'src/!(util)/**/*.js' : 'coverage' }

应该可以解决问题