Articles of 伊斯坦布尔

“npm运行覆盖”不与摩卡一起运行

我正尝试在express.js应用程序上使用摩卡来运行伊斯坦布尔 每次运行cmd npm run coverage时,我都会在cmd中得到这个错误: Unable to resolve file [node_modules/mocha/bin/_mocha] Try "istanbul help" for usage npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! dabl-demo@1.0.0 coverage: `istanbul cover node_modules/mocha/bin/_mocha` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the dabl-demo@1.0.0 coverage script. npm ERR! This is probably not a problem with npm. […]

更好的方式来dynamic改变testing的代码覆盖需要声明?

我有一个node.js库,我已经设置了与摩卡和柴的 BDD。 我还添加了伊斯坦布尔的代码覆盖率。 一切都通过咕噜任务运行。 我挣扎了一会儿,终于在基于这个存储库上的设置之后,终于find了工作: https : //github.com/morkai/h5.buffers 。 它的工作,但我不喜欢的实施。 grunt-istanbul插件处理文件,设置一个环境variables,testing使用环境variables来查找仪表testing的位置。 这是我不喜欢的最后一部分。 //Gruntfile.js // … env: { "default": { LIB_FOR_TESTS_DIR: srcLibForTestsDir }, coverage: { LIB_FOR_TESTS_DIR: lcovLibForTestsDir } } // … 然后在testing文件中,代码是: var FooClient = require((process.env.LIB_FOR_TESTS_DIR || '../lib') + '/foo-client.js'); 在运行testing文件之前,我还在testing中使用了一个帮助程序来进行初始化。 所以我有两个想法。 使用testing助手提取文件并隐藏其中的详细信息: var foo = require('./test-helper.js').foo; var FooClient = foo.FooClient; var ThatOtherThing = foo.ThatOtherThing; 使用testing跑步者? […]

我如何使用Mocha和伊斯坦布尔编写出色的testing用例?

我正在尝试使用chai和Mocha为Mongoose模型函数编写unit testing用例。 模型function function getDetails(parameter, fn) { Model.findOne({ parameter: parameter }) .lean() .exec(function(err, document) { if (err) { return fn(err, null); } return fn(err, document); }); }; unit testing用例 describe('→ Database model functions.', function() { it('getDetails() – should fetch and return details from database', function(done) { model.getDetails(parameter, function(err, document) { expect(err).to.be.null; expect(document).not.to.be.null; expect(document).to.be.an('object'); done(); }); […]

茉莉花节点的伊斯坦布尔代码覆盖率生成一个空的覆盖文件夹

我正在运行茉莉花testing我的代码,它工作正常。 在我的package.json文件中,我有这个命令: “cover”:“./node_modules/.bin/istanbul cover node_modules / .bin / jasmine-node unit_test” 其中unit_test包含我的茉莉花规格。 由于某些原因,当我运行我的覆盖范围时,它运行我的茉莉花testing,产生一个空的覆盖文件夹,然后挂起。 有谁知道为什么请?

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, 没有生成伊斯坦布尔报告或检查报道 。