【问题标题】:Is there a way to get the html report from Istanbul while it is running?有没有办法在运行时从伊斯坦布尔获取 html 报告?
【发布时间】:2020-06-12 00:50:45
【问题描述】:

我有一个测试套件需要一些时间才能运行(即半小时)。 我想在测试运行时检查 html 报告中的进度(即,通过在浏览器中刷新页面)。

【问题讨论】:

  • 那么您想在测试完成之前查看覆盖率吗?据我所知,Istanbul 只创建代码覆盖率报告……如何在测试完成之前创建这些报告?如果你想检查当前的测试状态,为什么不能读取控制台?我假设您使用的任何测试框架都会将数据写入控制台,不是吗?我想您总是可以单独运行针对特定目录的 nyc 命令? idk .. 想要的东西似乎很奇怪。
  • 在不知道测试运行环境的情况下很难给出准确的答案,但在浏览器中,Istanbul 将结果增量存储到一个相当复杂的对象window.__coverage__。我使用它来控制台记录运行期间未涵盖的行的摘要,因此也可以在afterEach() 中触发完整报告。

标签: node.js testing code-coverage istanbul


【解决方案1】:

如果您的 html 内容是静态的,我的意思是如果内容在加载后没有变化,您可以创建一个执行 get 请求以获取 html 内容的 cron-job。

如果您的 html 内容不是静态的,我的意思是如果内容是通过一些 Xhr 请求更新的,您可以从开发人员工具中检查请求详细信息。然后你可以把这些请求放在一个 cron-job 中。

或者您可以简单地使用 Puppeteer 来模拟浏览器行为。您可以使用 Chrome API 来获取 html 内容等。

【讨论】:

  • 抱歉,这个问题与使用伊斯坦布尔框架生成 mocha 测试用例(针对 nodejs Web 服务器)的 html 覆盖率报告有关。与测试自动化无关
猜你喜欢
  • 1970-01-01
  • 2013-12-21
  • 2017-03-07
  • 1970-01-01
  • 2016-02-17
  • 2020-05-19
  • 2014-10-07
  • 2014-12-24
  • 1970-01-01
相关资源
最近更新 更多