为什么用茉莉花的Karma单元测试一个Node打字稿项目显示覆盖范围包括依赖项?

正如主题所说,我们项目的代码覆盖范围包括节点依赖性。但是请注意,在开发和发布该npm依赖项的源代码也是该项目的一部分。 这是项目的结构:

    • main_project
      • karma.conf.ts
      • src和其他要测试的文件以及要为其生成覆盖率的
      • 测试
    • side_project,打包并发布到npm,并在包括该项目在内的多个项目中使用
      • src等。

因此,即使我的业力配置位于此处要测试并为其生成覆盖的main_project(图像中的src和src / *)文件夹中,业力也包含side_project(图像中的petreol-api-wrapper)以及覆盖范围,例如:

为什么用茉莉花的Karma单元测试一个Node打字稿项目显示覆盖范围包括依赖项?

这是我相关的业力配置:

const testRecursivePath = "test/*Test.ts";
const srcOriginalRecursivePath = "src/**/*.ts";
frameworks: ["jasmine"],reporters: [
    "progress","junit","coverage-istanbul"
],files: [
    testRecursivePath,{
        pattern: srcOriginalRecursivePath,included: false,served: true
    }
],preprocessors: {
    [testRecursivePath]: ["webpack","coverage"]
},

有人可以帮我吗?

iCMS 回答:为什么用茉莉花的Karma单元测试一个Node打字稿项目显示覆盖范围包括依赖项?

有一个选项可以排除karma.conf中的文件,例如,下面的config将排除ts文件夹中的所有node_modules文件。您可能需要研究以下示例中提供的相对路径。您可以使用**.*

忽略所有内容
exclude: [
        "node_modules/**/*.ts"
]

用作

const testRecursivePath = "test/*Test.ts";
const srcOriginalRecursivePath = "src/**/*.ts";
frameworks: ["jasmine"],reporters: [
    "progress","junit","coverage-istanbul"
],files: [
    testRecursivePath,{
        pattern: srcOriginalRecursivePath,included: false,served: true
    }
],exclude: [
        "node_modules/**/*.ts"
]
preprocessors: {
    [testRecursivePath]: ["webpack","coverage"]
},
本文链接:https://www.f2er.com/2096273.html

大家都在问