【问题标题】:Intern is not showing Code Coverage for Browser Tests实习生没有显示浏览器测试的代码覆盖率
【发布时间】:2018-03-30 19:23:47
【问题描述】:

我有一个示例项目,用于为 Dojo 模块编写单元测试,然后再转移到我的主项目。我有在 node 和 chrome 环境中成功运行的测试,但覆盖率报告仅报告在 node 环境中执行的测试的覆盖率。

下面是示例项目的链接。有谁知道为什么代码覆盖率报告没有专门显示 TestModule_Dijit.js 文件的指标?

SampleProject.zip

提前致谢

【问题讨论】:

    标签: javascript unit-testing dojo code-coverage intern


    【解决方案1】:

    我尝试了您的示例项目,它似乎工作正常。至少,在运行 Intern 时,我会看到浏览器和 Node 的覆盖率报告。

    请注意,仅针对在 Node.js 中运行的托管实习生的浏览器测试收集覆盖率。换句话说,当您从命令行调用intern 时运行的测试将收集覆盖率,无论它们是在Node 中还是在浏览器中运行。使用浏览器客户端运行测试,您手动浏览到http://localhost:9000/__intern/,将不会收集覆盖率。

    与原始问题无关,我注意到您正在为测试而不是源文件收集覆盖率数据。一般来说,覆盖率对源代码最有意义,因为测试覆盖率数据的目的是显示测试执行了多少应用程序代码(而不是运行了多少测试代码本身)。

    【讨论】:

    • 首先是澄清,然后是问题。我从一个实际项目中提取了大量的东西来创建这个示例项目。所以“TestModule_Dijit”和“TestModule_Model”实际上是我试图覆盖的源文件,我只是将它们放在测试目录中,因为它们是我要删除的样本。至于问题,我能够让测试成功运行,但是当我运行测试(使用intern 命令)时,我仍然看到 chrome 测试的以下输出:No unit test coverage for chrome 65.0.3325.181 on Windows NT
    猜你喜欢
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 2017-09-15
    • 1970-01-01
    • 2018-08-06
    • 2019-06-20
    相关资源
    最近更新 更多