問題タブ [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.
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 にテストが失敗したことが通知されました」というエラー メッセージが表示されるようです。
php - Scrutinizer スコアの最適化
私は画像操作ライブラリの開発を開始し、1 つのクールなパッケージでテストと検査を行うために Scrutinizer を使用することにしましたが、全体的なスコアを低下させている統計の一部を制限するためにコードを最適化する方法がわかりません。
以下に示すコードには、「条件: 6」があり、「B」評価にプッシュされます。コードに特別なことは何もありません。パーミッションの欠落や無効なディレクトリの可能性をチェックし、それに応じて例外をスローするため、コードの反応をまったく異なるものにせずにスコアを下げることは非常に困難です。
条件が 3 つしかないのに 6 つの条件がある理由がわかりません。そして、どうすればこれを下げることができるのかわかりません!
php - Scrutinizer の dependency_paths 構成設定を使用して、特定のフォルダーの問題を非表示にするにはどうすればよいですか?
Scrutinizer-CI の静的解析関数を使用して、PHP コードに関するフィードバックを提供しています。彼らのドキュメントによると、プロジェクトのルートにファイルがあり、 Scrutinizer.scrutinizer.yml
のオプションを希望どおりに構成しているようです。ほとんど。
これらのオプションの 1 つが ですdependency_paths
。これにより、依存関係を含むパスを指定できます。Scrutinizerで連絡を取った人によると...
「依存関係にリストされているパスは、他のファイルの分析をより正確にするために定義されているクラスまたは関数を見つけるためにそれらを調べるという点で、完全に除外されたパスとは異なります。ただし、これらのファイルの問題を探すことはありません。」
残念ながら、それは私にはうまくいかないようです。認証に SAML を使用しているためsimplesamlphp
、ソース コードを含むフォルダーがあります。(使用方法に基づいていくつかの構成ファイルなどを編集する必要があるため、composer などを介して simplesamlphp を含めることはできません)。
私のファイルの関連部分は.scrutinizer.yml
次のようになります。
(application
フォルダーは、ソース コードのルート レベルのフォルダーです)。
これにより、フォルダーで見つかった問題が Scrutinizer のコードのスコアに影響するのを防ぐことができますsimplesamlphp
。ただし、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
フォルダーに含まれていました。これで目標に近づいたように見えますが、依然、コードの何千もの問題がdependency_pathsに残っています。simplesamlphp
この時点で他に何を試すべきかわからないので、おそらくフォルダーを完全に除外することに戻るでしょう。
continuous-integration - クラウド CI サービスで Vagrant を使用する
VirtualBox をプロバイダーとして使用して Vagrant VM を実行できるクラウド CI サービスはありますか?
初期の調査では、vagrant-aws プラグインを使用すると AWS サーバーを Vagrant プロバイダーとして使用できますが、これは Travis CI または Circle CI では不可能であるように思われます。これは正しいです?
php - Scrutinizer + PHP + MongoDB: 接続が拒否されました
Scrutinizer でテストを実行しているときに、MongoDB に接続できません。テストスイートでエラーが発生しました
資格情報は必要ですか? どうにかして MongoDB を有効にする必要がありますか? 使用したいことを PHP に伝える必要がありますか?
(明らかに、SO、Web、または Scrutinizer のドキュメントには何も見つかりませんでした。)