【问题标题】:Include custom Dojo modules in Intern coverage在实习生覆盖范围内包括自定义 Dojo 模块
【发布时间】:2015-10-20 16:19:43
【问题描述】:

我现在要道歉,因为我是实习生的新手,并且知道的足够多,知道我对任何地方的了解都不够。我正在使用最新版本的实习生。我看到了很多关于如何从 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 文件夹中的内容是否应该在功能测试中列出。那么,问题是如何获取该文件夹中的内容以进行代码覆盖?

【问题讨论】:

    标签: iis dojo code-coverage intern


    【解决方案1】:

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

    【讨论】:

    • 我想知道这是否是解决方案。不幸的是,我被 IIS 困住了,因为有问题的应用程序是 ASP.Net,所以它是反向代理。非常感谢。
    • 在使用反向代理失败后,我选择预先检测文件。一切都运行良好,我得到了一份包含内容的报道报告。问题是看起来预先检测的文件随后又被检测了。以前从未见过。我没有在配置中设置 proxyUrl。有什么猜测吗?
    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多