问题标签 [code-climate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - Ember:如何覆盖实际代码,而不是转译代码
我正在尝试在现有项目上设置 CI,有些使用 CoffeeScript,有些使用 ES6 语法。但是我找不到在实际代码上获得适当代码覆盖率的方法。我所拥有的只是转译代码的覆盖范围,似乎我什至无法将其发布到 CodeClimate。
我试过了:
- ember-cli-blanket:在 stackoverflow 上找到。它仅在转译源上给出结果:
事实上,目前 lcov 输出中的 es6 模块名称与原始输入文件之间没有直接映射。
- ember-cli-code-coverage:更简单但仍可在转译源上运行
- 业力:(链接到 Ember 和业力的教程)这里 PhantomJS 抱怨 ES6 语法“导入”(这是正常的)。
- 我尝试使用预处理器来转译代码。
- browserify,webpack等有很多可能的事情......但我没有弄清楚如何正确设置任何东西。
- 我发现这个要点可能很有趣,因为它结合了 karma、browserify、babelify、Istanbul 和 PhantomJS,只缺少 qunit。但是我没有成功地做任何事情。
javascript - 如何重构这种代码来修复代码气候重复报告?
我使用 react & Flux 来开发我的前端 Web 应用程序:
所以我这样定义常量:
/js/constants/AppConstants.js
/js/constants/ProductConstants.js
这完全有效并且是正确的,然后我将这些代码推送到 Github(与 Codeclimate 集成)。
Codeclimate 说:
显然,我们看到这一行const KeyMirror = require('keymirror')
是在 2 个不同的文件中定义的,Codeclimate 认为这应该改变。但我在想,这只是导入库的声明。
你怎么想?我应该如何重构这个?
node.js - Jest JS 测试覆盖数据未从 Codeship 发布到 Code Climate
我有一个基于 Node.js 的项目,我在其中使用 Jest 进行 .js 单元测试。我将collectCoverage
配置设置设置为true
并且可以在本地开发运行中以及在 Codeship 中运行构建时看到测试覆盖率表。
但是,我似乎无法正确设置将测试覆盖率数据发布到 Code Climate 以在此处显示结果。
我将 CodeClimate 的设置说明中给出的 repo 令牌保存到 Codeship 环境变量中,如下所示:
CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < lcov.info
鉴于在本地,Jest collectCoverage 将lcov.info
数据文件保存在我的项目根目录中调用coverage
的目录中,我还尝试了具有该路径的环境变量的变体,如下所示:
CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < coverage/lcov.info
对于 codeclimate-test-reporter 节点模块 ( npm install -g codeclimate-test-reporter
) 的安装,从说明中我不清楚它应该去哪里。我试过把它:
- 在常规命令之前的 Codeship 测试设置设置命令部分中
npm install
, - 在 Codeship 测试管道配置命令部分,
我还尝试将它安装为我的 package.json 中的本地开发依赖项。
上述设置尝试的任何组合都没有导致在代码气候方面看到任何关于测试覆盖率的内容。
作为关于我所做工作的最后一点说明,我没有提交我的本地coverage
目录,因此它不包含在我的 Codeship 构建中。
谁能帮我弄清楚我做错了什么?
python - 如何将 travis ci 与 Python 中的 codeclimate 测试覆盖率集成?
我试图让我的 Travis CI 将测试覆盖率数据发送到 Code Climate 服务,但是 Code Climate 和 Travis CI 的文档没有详细描述如何使用 Python 来做到这一点。根据 Code Climate 和 Travis 文档,它仍然支持它的功能。我试图在没有运气的情况下找到任何可行的示例,并且无法自行完成。
代码气候文档: 设置测试覆盖率, 自述文件:codeclimate-test-reporter
Travis CI 文档: 将 Code Climate 与 Travis CI 结合使用
我已经在 Travis CI 中设置了 CODECLIMATE_REPO_TOKEN,如本答案所述: https ://stackoverflow.com/a/31281481/1754089
我的 .travis.yml 文件:
由于在 Travis 中执行了 after_success 行,因此它在日志视图中给了我这个:
ruby-on-rails - 初始构建失败后如何在 CodeClimate 上开始另一个构建?
这是第一个失败的构建。我忘了配置文件。所以我再次添加并重新提交。现在它不会再火了。
我必须先获得一个 CI(使用 Travis CI)才能先成功测试它吗?
python - 基于 env 变量的 Tox 运行命令
我当前的工作流程是在 Travis CI 上测试的 github PR 和构建,使用 tox 测试 pytest 并将覆盖率报告给 codeclimate。
travis.yml
毒物
但是,Travis 没有为拉取请求传递我的环境变量,这使得我的覆盖率报告失败。Travis 文档将此显示为解决方案:
但是,在 tox 中,这不起作用,因为 tox 正在使用 subprocess python 模块并且不识别 if 作为命令(自然)。
如何仅为构建而不是基于 TRAVIS_PULL_REQUEST 变量的拉取请求运行 codeclimate-test-reporter?我必须创建自己的脚本并调用它吗?有更聪明的解决方案吗?
python - 改进发现的类似代码的代码
我将 codeclimate 传递给我的代码,并获得了以下信息:
在其他 1 个位置找到类似代码
这是我的代码:
在哪里iterable_item_added
重复values_changed
。如何改变它?
php - 使用 extract() 时的显式变量声明
我有以下片段:
此代码完美运行(此处为完整源代码)。但是,我想确保在旅途中遵循一些好的做法。我现在收到 [一些 CodeClimate 警告] (PHPMD)( https://codeclimate.com/github/timegridio/timegrid/app/Listeners/SendBookingNotification.php ):
- 避免使用未使用的局部变量,例如“$locale”。
- 避免使用未使用的局部变量,例如“$timezone”。
- 避免使用未使用的局部变量,例如“$template”。
- 避免使用未使用的局部变量,例如“$subject”。
- 避免使用未使用的局部变量,例如“$header”。
- 避免使用未使用的局部变量,例如“$params”。
哪些是优雅的方法?
list()
我应该用或类似的东西明确声明变量吗?
提前致谢
ruby-on-rails - 代码气候 - 太复杂的错误
我在我的一个项目中使用了代码环境,但由于代码“太复杂”而出现错误。我不确定如何使它调用的代码不那么复杂?这里是:
方法:
它只是我藏在模型中的 JSON。我的分支上的一切都很好期待吗?我不知道该怎么办?关于如何使这不那么复杂的任何想法?
eslint - 规则“引号”的 Eslint 配置无效:
只是尝试使用https://codeclimate.com设置我的网站,但在遇到我的 eslint 配置设置时出错。在我的报价规则上出现错误,即
但不断收到错误
Eslint 是 3.14.0 版本
知道规则有什么问题吗?
编辑以显示我的版本: