首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeCoverage用于NodeJS应用程序中的功能自动化

CodeCoverage用于NodeJS应用程序中的功能自动化
EN

Stack Overflow用户
提问于 2014-10-14 17:41:47
回答 2查看 2.3K关注 0票数 5

我正在寻找指向一个工具的指针,该工具可以帮助我确定nodeJs中的功能自动化覆盖率。(这不是单元测试!)

对于用NodeJS编写的前端应用程序,我有很多selenium自动化程序正在运行。但我想知道这些自动化的功能覆盖范围。

(我之前使用了基于java的jacoco )

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-27 00:22:49

这个问题的答案是让istanbul-middleware https://github.com/gotwarlost/istanbul-middleware

istanbulistanbul-middleware是不同的,需要单独安装。我已经成功地使用这个工具测试了代码。步骤如下

  1. istanbul-middleware添加到nodejs应用程序中
  2. 在应用程序启动中添加插装代码。在github中给出了一个例子。
  3. 然后启动节点服务器并对其运行selenium测试。
  4. 如果您在本地主机中运行,那么您可以转到/coverage (或者如果您从github示例中更改它,在这里修改它)并获取您的覆盖率信息。

有关更多细节,请阅读github自述文件。

票数 1
EN

Stack Overflow用户

发布于 2014-10-27 21:29:43

正如其中一个注释所提到的,伊斯坦布尔是一个非常好的、非常通用的覆盖工具。它充当节点进程和脚本之间的中间人,因此只要您在节点运行时中执行某项操作,它就应该执行您想做的事情。我不知道您是如何运行您的selenium测试的,但是我在其中运行mocha,如下所示:

代码语言:javascript
复制
node ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- test/*-test.js
#or simply:
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- test/*-test.js

尽管摩卡通常作为自己的“命令”运行,但它可以被“馈送”到伊斯坦布尔,覆盖也是这样打印出来的。因此,在您的示例中,可以在伊斯坦布尔运行用于运行节点/selenium中的前端测试的任何命令。正如我所说的,这是一个非常通用的过程,可以应用于在node.js中运行的任何东西。

现在,我并没有任何使用Selenium的经验,但是我知道它有点像一个Rube Goldberg系统,有许多相互关联的进程(有些可能在不同的机器上)。如果您要在一行中捕获前端、后端和测试代码(或在浏览器中运行的前端代码,从后端代码中提供服务),我不确定是否存在这种情况(“用NodeJS编写的前端应用程序”是我的关键)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26366947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档