如何获得量角器测试的服务器端代码覆盖率

时间:2016-11-16 13:14:18

标签: protractor code-coverage

使用istanbul进行量角器测试是否可以获得服务器端代码覆盖,grunt-protractor-coverage插件提供客户端覆盖,我假设__ coverage __对象来自客户端JS文件。 如果是这样,如何获得节点js服务器端覆盖?

1 个答案:

答案 0 :(得分:0)

https://github.com/gotwarlost/istanbul/issues/574

这对于获取服务器端代码的代码覆盖非常有用。基本上:

  1. ./node_modules/.bin/istanbul cover --handle-sigint server.js使用istanbul运行服务器。 --handle-signint表示一旦终止,它就会生成报告。

  2. 在另一个终端窗口中,运行到达服务器的测试(无需对其进行检测)。

  3. 在运行server.js的终端中退出该流程(例如,使用control-C)。

  4. 在主应用程序文件夹中名为coverage的文件夹中生成报告。

  5. 因此,每次在服务器端代码中触及一行代码时,都会记录下来。跟踪您的测试实际覆盖的内容非常重要。单元测试将涵盖很多,但端到端测试很可能会错过很多代码分支。

    (如果你有JS和咖啡文件的混合,如果有人知道如何做到这一点,任何帮助将不胜感激!_