问题标签 [scrutinizer]

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.

0 投票
2 回答
376 浏览

php - 当代码完全不同时,为什么 Scrutinizer 会说“重复代码”?

当这两种方法完全不同时,为什么 Scrutinizer 会说“重复代码”?这是误报还是 Scrutinizer 确实希望以更抽象的方式看到这一点?

在此处输入图像描述

0 投票
1 回答
937 浏览

github - 审查员找不到 .jshintrc

我正在尝试开源项目的工具,比如 travis 和 scrutinizer。在我的 github 项目的根文件夹中,我同时拥有 .jshintrc 和 .scrutinizer.yml。但是,当我在审查器配置文件中启用 jshint 工具时,它报告说

我的存储库:https ://github.com/Misiur/Jawan

之前有人遇到过这个错误吗?

0 投票
1 回答
806 浏览

unit-testing - Scrutinizer 说 Travis 通知它“测试失败”,但测试确实通过了

我在 GitHub 上有这个项目。在我的.travis.yml文件中,我使用与每个项目相同的配置,将代码覆盖率数据上传到 Scrutinizer:

这是 Travis 的最新成功构建:

https://travis-ci.org/mindplay-dk/boxy/builds/61963347

这是对 Scrutinizer 的最新失败检查:

https://scrutinizer-ci.com/g/mindplay-dk/boxy/inspections/ac33c2fb-6083-4984-bf41-983e4d0f54e2

Travis 上传代码覆盖率数据后,错误消息“Scrutinizer 被通知测试失败”似乎立即出现。

0 投票
0 回答
42 浏览

php - 如何强制 Scrutinizer 扫描 .inc 文件

Scrutinizer 似乎没有发现或检测 .inc 文件为 PHP,尽管它们是 PHP 文件但需要此扩展名。

YAML 文件是否有一些设置可以将 .inc 文件视为 PHP 文件并实际检测它们,我可以在不更改存储库中的文件的情况下将 *.inc 重命名为 Scrutinizer 的 *.php 吗?

似乎这是硬编码为 *.php

https://github.com/scrutinizer-ci/php-analyzer/blob/36a82213e272d5b6a158d223b9e35358e348c112/src/Scrutinizer/PhpAnalyzer/Command/RunCommand.php#L56

0 投票
1 回答
156 浏览

php - CI 访问接口上的属性

我正在使用审查器来分析我的代码。几乎所有事情都已修复,但我似乎无法解决此问题。

我看到了这个问题,因为它是一个不存在属性的接口,但我的代码工作得很好。那么当我分析我的代码时,我怎样才能让这段代码通过呢?

谢谢

编辑

在这些行上出现错误(和其他一些文件几乎相同)

该类的构造函数

我的基本控制器的构造函数:

使用的合约https://github.com/illuminate/contracts/blob/master/Auth/Guard.php

0 投票
1 回答
168 浏览

php - 审查员分数优化

我开始开发一个图像处理库,并决定在一个很酷的包中使用 Scrutinizer 进行测试和检查,但我不确定如何优化我的代码以限制一些降低整体分数的统计数据。

我在下面向您展示的代码具有“条件:6”,将其推至“B”等级。代码没有什么特别之处,它检查潜在的丢失权限或无效目录并相应地抛出异常,因此在不使代码反应完全不同的情况下降低分数是相当困难的:

我不明白为什么我有 6 个条件,而那里只有 3 个条件。我不明白我怎么能降低这个!

0 投票
0 回答
397 浏览

php - 您如何使用 Scrutinizer 的 dependency_paths 配置设置来隐藏某些文件夹中的问题?

我正在使用 Scrutinizer-CI 的静态分析函数来提供有关我的 PHP 代码的反馈。根据他们的文档,我在项目的根目录中有一个.scrutinizer.yml文件,似乎成功地按照我希望的方式配置了 Scrutinizer 的选项。几乎。

其中一个选项是dependency_paths,它允许我指定包含依赖项的路径。据我在 Scrutinizer 交流过的人说...

“依赖项中列出的路径与完全排除的路径不同,因为我们会查看它们以查找它们定义的类或函数,以使您对其他文件的分析更加准确。但是,我们不会在这些文件中查找任何问题。”

不幸的是,这似乎对我不起作用。我使用 SAML 进行身份验证,因此simplesamlphp我的源代码中有一个文件夹。(您不能只通过 composer 之类的东西包含 simplesamlphp,因为您必须根据您的使用方式编辑一些配置文件等)。

我的文件的相关部分.scrutinizer.yml如下所示:

(该application文件夹是我的源代码中的根级文件夹)。

这似乎确实可以防止simplesamlphp文件夹中发现的任何问题影响我的代码在 Scrutinizer 中的分数。但是,Scrutinizer 仍然报告该simplesamlphp文件夹中的代码存在数千个问题,因此很难找到实际上与我编写的代码有关的问题。

我使用dependency_paths设置错误吗?看起来它确实不像我被告知的那样工作……让我很困惑。

编辑:为了提供更多信息,我可以simplesamlephp使用该excluded_paths选项完全排除该文件夹。挑战在于让 Scrutinizer 查看我的依赖项中的类等(以便更好地理解我的代码),但不报告在依赖项中发现的任何问题。

编辑2:嗯,这很有趣。我尝试了我的文件的几个版本(相关部分).scrutinizer.yml,并看到了以下结果。

首先,我只是告诉 Scrutinizer 完全排除该simplesamlphp文件夹:

这使我能够看到我自己的代码的问题并修复它们。此时,我的项目在 Scrutinizer 上的得分是 9.54。然后我停止排除simplesamlphp

此更改在 Scrutinizer 的分析中引入了 7756 个问题,但我的项目得分为 9.54(这意味着simplesamlphp正在报告中的问题,但不计入我的利益)。然后我尝试从路径中删除尾部斜杠和星号:

此更改引入了 2002 个问题并修复了 3198 个问题,所有这些问题(已引入和已修复)都在simplesamlphp文件夹中。我完全没想到会有这样的效果。这也将我的项目在 Scrutinizer 上的得分降低到了 7.47,这意味着simplesamlphp文件夹中的问题现在正被计入我的利益。然后我尝试更改为单行数组语法dependency_paths

这没有效果。为了彻底起见,我/*在这个数组语法中添加了尾随:

这些结果也让我感到惊讶。此更改修复了 2002 年的问题,并使我的分数恢复到 9.54。已修复的问题和剩余的 4519 个问题都在simplesamlphp文件夹中。虽然这似乎让我更接近目标,但它仍然在我的依赖路径中的代码中留下了数千个问题。我不确定此时还可以尝试什么,所以我可能会回到简单地完全排除该simplesamlphp文件夹。

0 投票
3 回答
2653 浏览

continuous-integration - 在云 CI 服务上使用 Vagrant

是否有任何云 CI 服务允许 Vagrant VM 使用 VirtualBox 作为提供程序运行?

早期的调查表明,这似乎无法通过 Travis CI 或 Circle CI 实现,尽管 vagrant-aws 插件允许将 AWS 服务器用作 Vagrant 提供程序。这个对吗?

0 投票
1 回答
194 浏览

php - Scrutinizer + PHP + MongoDB:连接被拒绝

在 Scrutinizer 上运行测试时,我无法连接到 MongoDB。我的测试套件出错了

它需要任何凭据吗?我需要以某种方式启用 MongoDB 吗?我需要告诉 PHP 我想使用它吗?

(显然,我没有在 SO、网络或 Scrutinizer 文档中找到任何内容。)

0 投票
1 回答
136 浏览

laravel - Scrutinizer Laravel 5.2 无法分析

由于我将 Laravel 升级到 5.2,Scrutinizer 抛出一个错误,说它无法被分析:

错误信息

composer.json的是:

我已经尝试排除供应商文件夹,但这没有帮助:

为什么会发生这种情况,我怎样才能告诉 Scrutinizer 忽略这个包?