Articles of 伊斯坦布尔

CoffeeScript代码覆盖

是否可以在不使用CoffeeScriptRedux编译器(在ibrik中使用这个编译器)的情况下对CofeeScript源执行代码覆盖。 我理解这个新编译器的优点,但看起来还没有完成,不适合我的项目。

伊斯坦布尔与摩卡,nodejs总是给出相同的覆盖面

我已经安装了istanbul来检查节点中的apis的代码覆盖率。 如果testing覆盖率不正确,我会觉得很困惑。 我有一个目录结构为-app包含-api -controllers -models -test -api_test.js 运行istanbul cover _mocha运行istanbul cover _mocha所有testing用例,并将覆盖范围返回为语句:46.55%(27/58)分支:0%(0/18)函数:0%(0/13)行:48.21%( 27/56) 但是后来我删除了一堆testing用例,重新运行伊斯坦布尔仍然覆盖stantics是一样的。 根据我对这个工具的理解,我应该根据我的testing用例的所有代码行数来给我统计,因为在我运行较less的testing时,技术上应该降低testing覆盖率。 此外,我的报告的HTML只包含一些模型(甚至不是所有的)的覆盖率统计所以这增加了困惑是否我configuration了testing套件和伊斯坦布尔是否正确。 任何帮助将不胜感激,因为我是相当新的节点。

伊斯坦布尔和声纳之间的分支覆盖率不匹配

我的Jenkins工作通过Sonar Runner读取由伊斯坦布尔生成的lcov文件。 伊斯坦布尔生成的lcov报告中的数字/未命中与Sonar中显示的不匹配。 与伊斯坦布尔相比,有0-7%的差距因寻找更多的失误而变得更加严格。 是否预计? 为什么区别? 环境: SonarQube 3.5和3.7.4 SonarRunner 2.3 Sonar JavaScript插件1.6 Node.js代码

如何获得伊斯坦布尔与Sails.js 0.10.x?

我正在尝试使用Sails.js 0.10.x应用程序来获得伊斯坦布尔代码覆盖工具。 我看到http://blog.sergiocruz.me/unit-test-sailsjs-with-mocha-and-instanbul-for-code-coverage/,但是这个使用了0.9.x,并且在0.10.x之后执行了相同的步骤,由于对Grunt设置的更改而工作。 我试图调整它如下: tasks/config/istanbulCoverage.js : module.exports = function (grunt) { grunt.config.set('mocha_istanbul', { coverage: { src: 'test', options: { coverageFolder: 'coverage', mask: '**/*.spec.js', root: 'api/' } } }); grunt.loadNpmTasks('grunt-mocha-istanbul'); }; tasks/register/coverage.js : module.exports = function (grunt) { grunt.registerTask('coverage', [ 'mocha_istanbul:coverage' ]); }; 但是这只会导致/coverage目录被创build,但是没有创build文件。 没有错误消息,所有的testing都通过了,除了没有创build覆盖报告外,一切看起来都很好。 任何人都知道什么是错的? 如果有问题,我在Windows上,但稍后会尝试* nix虚拟机。

摩卡istanbul不包括一个文件

我正在使用grunt mocha istanbul来运行我的testing用例并检查代码覆盖率。 当我运行命令npm test时,每个文件中的所有testing用例都被执行。 但是,当涉及到代码覆盖率时,其中一个文件没有被检查。 有趣的是,该文件夹中的所有文件都已经过代码覆盖testing。 我无法find任何指出问题出在哪里的错误日志。 有人可以指导我吗?

在节点> = 4.x中,伊斯坦布尔的性能很差

在节点4.x (和5.x)中运行伊斯坦布尔检测的JavaScript代码比在节点0.12.x上慢4倍。 具体来说,我有一个摩卡testing,需要约500毫秒完成非仪表代码。 相同的testing在节点0.12.x的检测代码上花费约5000毫秒。 同样的testing在节点5.x的检测代码上花费约20000毫秒。 在更高级的节点中性能如此糟糕的任何原因? 注意:为了隔离问题,我运行了istanbul instrument命令。 仪器需要1秒钟。 然后,我对仪表代码进行了Mochatesting, 没有生成伊斯坦布尔报告或检查报道 。

摩洛哥伊斯坦布尔在反应的应用程序不正确的覆盖面

背景 我的项目包括: 一个带有jsx和js (包括*.test.js )文件的app/目录 调用instanbul的npm脚本: babel-node ./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha — \"./{,!(node_modules)/**/}*.spec.js\" –delay –compilers js:babel-core/register –recursive 我估计实际上我有3-5%的代码覆盖率 问题 当我运行报告时,数字要高得多: ======== Coverage summary ======== Statements : 93.24% ( 193/207 ) Branches : 41.67% ( 10/24 ) Functions : 92.45% ( 49/53 ) Lines : 94.12% ( 192/204 ) 也许instanbul不包括jsx文件,因为我有: jsx LOC的jsx js〜600 LOC 任何人都可以提供洞察到configuration – 谢谢 […]

unit testingnode.js模拟文件系统打开错误

我想提高我的代码覆盖这个function: function openArchiveFilePath(zipFilepath, next) { var fullyQualifiedZipFilepath = path.resolve(zipFilepath); fs.open(zipFilepath, 'r', openFile); function openFile(err, fd) { if (err) { if (err.code === FS_ERROR_CODE.FILE_NOT_FOUND_ERROR_CODE) { formatErrorMessageAndLog(err, "photo archive file (%s) doesn't exist.", fullyQualifiedZipFilepath); return next(err); } if (err.code === FS_ERROR_CODE.FILE_PERMISSIONS_ERROR_CODE) { formatErrorMessageAndLog(err, "photo archive file (%s) cannot be read, insufficient permissions.", fullyQualifiedZipFilepath); return next(err); } formatErrorMessageAndLog(err, […]

Nightmare.js和代码覆盖率

简洁版本: 我无法从我使用nightmare.js和mocha写的testing中看到代码覆盖率。 到目前为止,我已经尝试过使用伊斯坦布尔和_mocha。 大版本: 我有一个小项目: /public/index.html <html lang="en"> <head> <meta charset="UTF-8"> <title>My Website</title> <script src="./js/hello.js"></script> </head> <body> <h1>My Website</h1> </body> </html> /public/js/hello.js window.hello = function hello(){ return 'world'; }; 该网站使用快递和永远运行。 当我试图使用nightmare.js来testing它。 /test/test.js var path = require('path'); var Nightmare = require('nightmare'); var should = require('should'); /*global describe */ /*global it */ describe('Simple demo', function () { […]

编写unit testing使用child_process的节点服务

我有一个节点服务,我使用child_process spwan一个孩子,在我的情况下,孩子是一个C ++二进制文件,需要STDIN和streamSTDOUT。 该服务正在按预期工作,现在我正在尝试使用mocha / chai在服务中编写unit testing,并通过伊斯坦布尔运行testing。 我已经为这些stuufs奠定了基础,但只想获得如何为使用child_process的节点服务编写unit testing的示例。 基于这个例子,我可以尝试为我的服务编写unit testing,并在Instanbul上运行它们来生成覆盖率报告。 服务产生这样的孩子, var spawn = require('child_process').spawn, child = spawn(pathToBinary); child.stdin.write('JSON'); child.stdout.on('data', function (data) { //perform operations here });