• 加个微信私聊下?

  • 信息量有点少,首先我个人觉得跟那个图片加载应该没有太多的关系。因为我用 istanbul-middleware 比较少,所以没有遇到过这样子的问题
    我建议你这么尝试分析下看看

    1. 重点对比下 css 样式的内容的差异 (因为这个样式问题,按理就是 css 的加载问题才对)
    2. 网络请求加载的文件是否都一样的, 如果还没解决 可以加个微信 我们私聊下
  • 关于 nodejs 覆盖率的探索 at 2021年08月09日

    哦 我懂了,这个肯定是需要你自己二次开发 im 的, 我们这边的前端代码覆盖率没有用到 im, 是自己根据 cypress 的code-coverage 做的二次开发同时我们是跟运维的同学做了合作,在包部署平台使用容器的 sidecar 的方式,拦截了所有的请求,并且往页面中注入定时上报的代码,上报的内容就就包含了对应的项目名称等,这样子我们的覆盖率服务(你可以理解为 im)就可以知道是那个应用的服务率数据了。 关于前端代码覆盖率的实现 我可以找时间分享下我们这边的一些内容

  • 关于 nodejs 覆盖率的探索 at 2021年08月09日

    能够说下具体的场景吗?

  • 首先确认一点,slave 执行应该也是需要本地存在有 csv 文件才能够执行的才对吧,那不同的 slave 文件应该都是独立开来的,这样子基本很难做到说一个读取前面 500, 一个读取后面 500。
    我们这边的做法基本就是将文件内容拆分开来,文件名称都是叫同样的名字,然后取前 500 给 A, 后 500 个 B 这样子处理的。

  • @ 清水 来个 github 仓库地址 如何,我试试看,因为截图内容好多,看的有点乱

  • 你能提供下 你合并后的是什么样的吗,另外为什么说拿不到覆盖率数据呢

  • 嗯,我觉得他挺适合 node 后台的

  • 那可以考虑改造下 istanbul-middleware 看看,我找时间试试 😀

  • 嗯, 刚才试了下了,结果是可以的, 我就以使用 nyc 举例了,因为 istanbul-middleware 的方式也是可以的,而且看 readme 也很简单了

    我写了一个 demo, 你自己可以访问去试验下 nyc-expresss-coverage-demo
    这里使用的例子其实是istanbul-middleware test 目录的例子,只是我将其中关于 instalbul-middleware 库的引用都去掉了,增加了 nyc 的引用

    1. npm install 安装依赖库
    2. npm run instrument 对服务的代码进行插桩,生成一个插桩后的目录 server-instrument
    3. node index 启动服务, 这个时候服务引用的文件其实是 server-instrunment 的文件了,因为我在 index.js 里面将内容做了指定了。
    4. 直接访问 http://localhost:8888 即可看到服务网页的内容,其实就是开始我们的测试了。
    5. 再访问 http://localhost:8888/coverageData 就可以得到覆盖率数据

    6. 我们先麻烦点,将对应的数据放置到根目录的 .nyc_output 的 a.json 文件中,这里的文件名称可以随意。

    7. nyc run report 就会看到在 coverage 目录下生成了一个覆盖率的报告了。

    当然,这里有麻烦的地方就是需要自己去拷贝覆盖率的数据对吧,这个问题倒是不难,自己写一个第三方的库,然后做个定时任务,定时去上报全局变量中的coverage的变量给到真正处理覆盖率数据的后台就可以了。