在实习生报道中包括自定义 Dojo 模块

Include custom Dojo modules in Intern coverage

我现在要道歉,因为我对 Intern 还很陌生,而且知道的还不够多。我正在使用最新版本的实习生。我看到很多关于如何从 Intern 生成的覆盖率报告中排除文件的详细信息,但没有关于它默认包含在覆盖率中的内容,现在要包括其他内容。实习生已经对我 运行 的测试文件进行了检测并提供了覆盖率报告,但这对我没有任何好处。我需要我有几个自定义 Dojo 模块需要检测覆盖率,但我似乎无法找到如何实现这一点。我现在只是 运行 进行功能测试。

正在测试的网站由本地 IIS 提供服务,但测试文件位于完全不同的文件夹中。默认情况下,Intern 似乎正在检测测试文件,并向我展示有关 运行 中涵盖了多少我的测试的不错的报告。看到这一点,我的想法是我需要将所有 Intern 安装和配置移动到本地 IIS 文件夹,我做到了。 Intern 仍然只提供测试文件的覆盖率报告,而不是 Dojo 模块。

IIS 中的文件夹结构

wwwroot
  |
  --js
     |
     --Chai
     --ckeditor
     --myScripts
     --dojo
     --node_modules
     Gruntfile.js
     internConfig.js
     package.json

我需要对 myScripts 文件夹中的文件进行代码覆盖检测。这是我排除的内容:

excludeInstrumentation: /^(?:Chai|node_modules|ckeditor|dojo)\//

似乎这些文件夹中的任何内容都没有被检测到,所以至少我有这个权利。目前我没有在 loaderOptions 下定义任何东西,而且我不完全确定在进行功能测试时应该将 myScripts 文件夹中的内容列在那里。所以,问题是我如何获取该文件夹中的内容以进行代码覆盖?

为了进行检测,需要从 Intern 在您 运行 intern-runner 时创建的 HTTP 服务器请求代码。如果您直接从 IIS 加载代码,则永远不会对其进行检测,也无法执行代码覆盖率分析。如果您需要使用 IIS 而不是内置服务器,您还需要配置 IIS 以将对这些文件的代理请求反向发送给 Intern,如 testing non-CORS APIs 文档中所述。