标签: jscoverage

Qunit + JSCoverage + Jenkins

我已经开始使用Qunit来测试我的JS代码.我正在研究JSCoverage以后生成覆盖率报告.我们有一个CI服务器(Jenkins)已经使用我们的PHP代码做了一些事情,我想知道是否有人可以评论如何将我的Qunit和JSCoverage的报告集成到Jenkins

谢谢Sparsh

qunit jenkins jscoverage

11
推荐指数
1
解决办法
6097
查看次数

如何告诉Sonar使用我的LCOV文件进行代码覆盖

我们有一个包含一堆javascript文件的Jenkins作业.我们通过grunt构建我们的项目,在构建结束时,我们运行JSCover来运行我们的单元测试并收集代码覆盖率.一切正常.我们得到一个不错的LCOV文件.

我们现在想将LCOV文件上传到Sonar,我不知道该怎么做.我们正在从Jenkins构建我们的项目作为一个自由风格的项目.

我试着玩声纳的各种项目属性,但没有爱:

# project metadata (required)
sonar.projectKey=my.project
sonar.projectName=My Project
sonar.projectVersion=1.0
# path to source directories (required)
sonar.sources=src

# The value of the property must be the key of the language.
sonar.language=java (I tried js and javascript, but no love. Plugin is not installed.  Actually, I don't care about the language, since I am already generating the LCOV file during the build.  I just need Sonar to use this LCOV file.)

# Advanced parameters
sonar.javascript.jstestdriver.reportsfolder=target/surefire-reports
sonar.javascript.jstestdriver.coveragefile=target/test-coverage/jscover.lcov
sonar.dynamicAnalysis=reuseReports
Run Code Online (Sandbox Code Playgroud)

我怀疑问题出在"高级参数"下,但我不知道如何告诉Sonar,"请使用我的LCOV文件进行代码覆盖".

javascript jenkins jscoverage sonarqube

7
推荐指数
1
解决办法
2万
查看次数

用Jasmine运行JSCoverage

Javascript编码有点新,所以请耐心等待.

我通过jscoverage自动化测试阅读以下链接 jasmine

但是,因为我没有Ruby项目,所以它似乎不是我想要的.

以下是我执行的步骤:

  1. 将我要测试的js文件复制到目录'input'
  2. 运行以下命令'jscoverage input output'
  3. 将我的规范和src文件夹的Jasmine以及SpecRunner.html复制到'output'
  4. 将已检测的源文件复制到src中
  5. 在Chrome中打开jscoverage.html
  6. 在"浏览器"标签中打开SpecRunner.html

此时,浏览器页面显示我的Jasmine测试.但是,"摘要"页面显示测试的0个文件,"源"选项卡显示为灰色.

我知道我搞砸了,但不确定在哪里.请帮帮我.谢谢!

jasmine jscoverage

6
推荐指数
1
解决办法
3066
查看次数

使用PhantomJS的JSCover - TypeError:'null'不是对象

当我尝试使用PhantomJS运行JSCover时,我看到下面的错误:

遵循的步骤:

1)运行JSCover服务器:

java -jar ~/JSCover/target/dist/JSCover-all.jar -ws --report-dir=report

2)使用JSCover运行PhantomJS runner: *phantomjs --debug=true ~/JSCover/src/test/javascript/lib/PhantomJS/run-jscover-jasmine.js localhost8080/<app>/module/framework/test/SpecRunner.html

TypeError: 'null' is not an object(evaluating''document.body.querySelector(".描述 ').的innerText')`

phantomjs://webpage.evaluate():3 phantomjs://webpage.evaluate():22 phantomjs://webpage.evaluate():22 2013-09-19T16:36:07 [DEBUG] WebPage - evaluateJavaScript result QVariant(, ) 2013-09-19T16:36:07 [DEBUG] WebPage - evaluateJavaScript"(function(){return(function(){jscoverage_report('phantom');})();})()"2013-09-19T16: 36:07 [DEBUG] WebPage - evaluateJavaScript结果QVariant(,)2013-09-19T16:36:07 [DEBUG]网络 - 资源请求错误:5("取消操作")URL: localhost8080/<app_home>/lib/backbone/1.0.0/backbone.js?cb=0.5381254460662603

jasmine phantomjs jscoverage

6
推荐指数
1
解决办法
4260
查看次数

在 Cucumber js 中获取覆盖率统计数据的最佳方法是什么?

我正在使用Gherkin语法的行为驱动开发 (BDD) 方法设计我的测试,并使用Cucumber JS运行我的测试。

我正在使用Cucumber Studio共享报告并与我的业务利益相关者和管理层保持同步。

最近,我需要获取该项目的测试覆盖率报告,并进行了一些研究,但无法决定使用哪个库来获取覆盖率报告以及如何获取。

到目前为止,我已经找到了JSCoverCucumber ReportsIstanbul来获取测试覆盖率报告,但我不确定如何准确使用它们,以及哪种最适合我的情况与 Cucumber JS 一起使用。

javascript jscoverage istanbul test-coverage cucumberjs

6
推荐指数
1
解决办法
3240
查看次数

业力覆盖率阈值

我目前正在项目中使用Karma的覆盖范围,我想强制设置覆盖范围的阈值,因此使我在Circle CI上的构建失败并因为它低于设定百分比而变为红色.

code-coverage jscoverage karma-runner

3
推荐指数
1
解决办法
1699
查看次数

没有收集覆盖范围信息,退出时没有编写覆盖范围信息,伊斯坦布尔报道

请问有谁能解决这个问题吗?我有我的测试:覆盖范围定义如下.

scripts{
 "test:coverage": "babel-node ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha ./src/_utils/__tests__/*.js"
}
Run Code Online (Sandbox Code Playgroud)

当我跑

npm run test:coverage
Run Code Online (Sandbox Code Playgroud)

我的摩卡运行良好,其他一切都好.但我的伊斯坦布尔报道最后会在标题中返回消息.此外,我的coverage文件夹仍为空.通过在线阅读后,我确信我必须添加.istanbul.yml文件.然后我继续并在下面添加它

verbose: false
instrumentation:
    root: ./node_modules/.bin/istanbul
    default-excludes: true
    excludes: []
    embed-source: false
    variable: __coverage__
    compact: true
    preserve-comments: false
    complete-copy: false
    save-baseline: false
    baseline-file: ./coverage/coverage-baseline.json
reporting:
    print: summary
    reports:
        - lcov
    dir: ./coverage
    watermarks:
        statements: [50, 80]
        lines: [50, 80]
        functions: [50, 80]
        branches: [50, 80]
hooks:
    hook-run-in-context: false
    post-require-hook: null
Run Code Online (Sandbox Code Playgroud)

在我运行测试后:再次覆盖,之前的伊斯坦布尔错误消失了.但是,标题中的无覆盖消息仍然存在,并且更多覆盖文件夹仍然为空.请问我哪里出错了?任何帮助,将不胜感激.

jscoverage istanbul

3
推荐指数
2
解决办法
4679
查看次数