Tag: 代码覆盖率

更好的方式来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跑步者? […]

在Jenkins中使用blanket.js覆盖率报告

我有一个运行摩卡testing的node.js项目,并使用毯子生成覆盖报告。 我已经设法生成了覆盖率报告,但是我不确定如何生成可以在Jenkins中使用和查看的报告。 有什么build议么? 我正在寻找类似于Cobertura插件的结果( https://wiki.jenkins-ci.org/display/JENKINS/Cobertura+Plugin )。

伊斯坦布尔封面testing挂起,然后在60秒后中止

我正在使用伊斯坦布尔代码覆盖我创build的Web应用程序。 每当我运行npm run cover –color=always (运行: ../node_modules/babel-cli/bin/babel-node.js — node_modules/.bin/babel- istanbul cover test/index.js –report=cobertura –print=detail –x=dist/** ) 但terminal上没有任何东西出现在大约60秒后,当我得到这个错误: TAP version 13 # application server Aborted (core dumped) 但是,如果我在index.js文件的底部写了一些导致错误的东西(比如一个未定义的函数),它将会打印覆盖范围以及错误。 有什么想法可能是错的?

我如何获得伊斯坦布尔的Lab / Hapi.jstesting报告?

编辑:几个月后,我完全迁移到实验室,它的工作很好,包括覆盖。 也许在我写这个实验室的时候没有一个好的覆盖工具。 我已经得到了这个工作。 今天早上工作 突然间,事实并非如此。 testing在dist/test/unit.js 。 15个testing覆盖了80.29%的代码(基于Lab的覆盖报告)。 但是我们准备和Sonar一起使用伊斯坦布尔,所以我需要再次与伊斯坦布尔合作。 无论如何我宁愿select伊斯坦布尔 我正在运行testing: ./node_modules/.bin/istanbul cover ./node_modules/.bin/lab — -l -e development -r lcov dist/test testing运行。 全部通过。 屏幕输出是覆盖报告: … DA:801,1 DA:802,1 DA:803,1 DA:804,1 DA:805,1 DA:806,1 DA:807,1 LF:774 LH:738 end_of_record No coverage information was collected, exit without writing coverage information 为什么这告诉我没有收集报道? 我怎样才能让这两个工具再次打好? 摆脱-r lcov并没有真正的帮助。 在./coverage (默认文件夹)中没有任何输出。 我可以通过pipe道强制它,但是当我运行输出到伊斯坦布尔(报告选项)时,我得到Error: Invalid report format […]

当代码在node_modules中链接时,configurationjest代码覆盖范围

我正试图重构一个Node项目,使用Jest进行testing。 最初,我把所有的.js和.test.js文件都放在同一个目录下,而且所有的东西都在这个世界上, 也就是说 ,我所期望的jest –coverage 就是 jest –coverage 。 我已经改变了我的目录结构,testing工作,但我的覆盖面报告没有。 这里是我的目录结构,编辑删除node_modules 除符号链接到我的lib文件夹。 我正在按照这个暗示 requiring我的模块通过符号链接。 ❯ tree . ├── README.md ├── build │ └── index.js ├── jest.config.js ├── lib │ ├── path.js │ ├── pen.js │ ├── section.js │ ├── sprite.js │ └── utilities.js ├── node_modules │ ├── itch <= symlink to my `lib` folder ├── […]

覆盖伊斯坦布尔和摩卡/柴的function

我无法理解如何unit testingfunction,以便伊斯坦布尔会考虑它们。 举一个非常简单的例子,我创build了这个math模块: var add = function( one, two ){ return one + two; } module.exports = { add: add }; 和基本的unit testing: var chai = require('chai'); var expect = chai.expect; describe('add() method', function(){ it('should do math', function(){ expect( some.add(1, 1) ).to.equal(2); }); }); 伊斯坦布尔的报告给了我这些结果: 发言:66.67%(2/3) 分支机构:100%(0/0) function:0%(0/1) 行数:66.67%(2/3) 忽略:无 如果简单地testing调用函数的结果不算作覆盖率,那么在unit testing无法访问的函数范围内,如何testing此代码?

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 () { […]

什么JavaScriptparsing器sould我可以用来重新实现jsCoverage在JavaScript中的节点?

我真的很喜欢node.js中的代码覆盖报告。 我已经创build了一个node.js模块,它可以注入被调用的代码(并且模拟我们的require语句),称为requiremock 我在我的另一个模块nodecoverage中使用了jsCoverage(windows)的二进制版本来生成代码覆盖率报告,并使用requiremock注入了代码版本的代码。 使用jsCoverage的问题是 它需要编译的平台,因为它是用C(++)编写的,所以我想用JavaScript实现它,这样就可以在任何平台上使用,而不需要编译。 它将代码版本的代码作为文件写入磁盘。 使用requiremock,我可以在内存中生成检测到的JavaScript文件,并在需要原始文件时运行这些文件。 当使用函数提升时,jsCoverage不会正确地报告代码覆盖率,并且我在node.js中使用了很多 所以我的问题是: 我应该select使用JavaScript编写的JavaScriptparsing器来将jsCoverage重新实现为node.js模块吗? 我必须能够知道原始文件中的代码的数量,也知道什么是空白。