实习生覆盖范围不包括卸载来源

时间:2018-04-20 07:37:01

标签: javascript code-coverage intern istanbul

实习生测试不加载源文件(覆盖0%)时,它们不会显示在(lcov)覆盖率报告中(在nodejs中运行)。

我认为通常是JS工具难以解决的问题。

E.g。 Jest有simple workaround

我正在为实习生寻找最简单的解决方法,最好是使用v3。

  • 由于实习生在封面下使用istanbul,想知道--include-all-source标志是否有效并且可以轻松传递?
  • 是否有标准配方使加载程序能够识别所有文件?
  • 我的文件在nodejs中也不能很好地加载,是否可以包含它们?

1 个答案:

答案 0 :(得分:1)

看看实习项目本身和config script中有一个名为coverage的选项,覆盖范围定义为:

  

应为代码检测的文件路径或glob数组   覆盖,或假,以完全禁用覆盖。这个性质   应该指向将要执行的实际JavaScript文件,而不是   预先编译的来源(覆盖率结果仍将映射回   原始资料)。 将收集这些文件的覆盖率数据   即使他们没有被实习生装载进行测试,也允许测试人员查看哪些文件已经过测试   编写器,以查看哪些文件未经过测试,以及覆盖范围   在已测试的文件上。取消设置此值时,实习生仍然会   寻找全球覆盖变量的覆盖数据,它会   从远程会话请求覆盖数据。明确设定   覆盖范围为false将阻止实习生甚至检查覆盖范围   数据。此属性替换excludeInstrumentation属性   在以前版本的Intern中使用,它起到了过滤器的作用   而不是包容性清单。

抱歉大写,只是想突出显示句子。 正如伊斯坦布尔所做的那样,coverage使用glob,因此您可以指定coverage: ['src/**/*.js']之类的内容。

我意识到这一点,因为实习生本身使用this configuration来收集覆盖范围,而且似乎对他们有效。

编辑:正如评论中所指出的,此功能仅出现在实习生的第4节中。