問題タブ [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.

0 投票する
0 に答える
169 参照

ember.js - Ember: トランスパイルされたコードではなく、実際のコードをカバーする方法

既存のプロジェクトで CI をセットアップしようとしています。CoffeeScript を使用するものもあれば、ES6 構文を使用するものもあります。しかし、実際のコードで適切なコード カバレッジを取得する方法が見つかりません。私が持っているのは、トランスパイルされたコードのカバレッジだけで、それを CodeClimate に投稿することさえできないようです。

私は試した:

  • ember-cli-blanket : stackoverflow hereにあります。トランスパイルされたソースのみで結果が得られます。

    実際、現在のところ、lcov 出力の es6 モジュール名と元の入力ファイルとの間の直接的なマッピングはありません。

  • ember-cli-code-coverage : よりシンプルですが、トランスパイルされたソースで実行できます
  • karma : (リンクは Ember & karma のチュートリアルに移動します) here PhantomJS は ES6 構文の「インポート」(これは正常です) について不満を述べています。
    • プリプロセッサを使用してコードをトランスパイルしようとしました。
    • browserify、webpackなどでできることはたくさんあります...しかし、何かを正しく設定する方法がわかりませんでした。
    • カルマ、ブラウザ化、バベリファイ、イスタンブール、ファントムJSを組み合わせており、qunitのみが欠落しているため、この要点は興味深いものであることがわかりました。しかし、私は何も機能させることに成功しませんでした。
0 投票する
2 に答える
1937 参照

javascript - この種のコードをリファクタリングして codeclimate 重複レポートを修正するにはどうすればよいですか?

React と Flux を使用して、フロントエンド Web アプリを開発しています。

したがって、次のように定数を定義します。

/js/constants/AppConstants.js

/js/constants/ProductConstants.js

これは完全に機能し、正しいので、これらのコードを Github にプッシュします (Codeclimate 統合を使用)。

Codeclimate は次のように述べています。

明らかに、この行const KeyMirror = require('keymirror')は 2 つの異なるファイルで定義されており、Codeclimate はこれを変更する必要があると考えています。しかし、これはライブラリをインポートするための単なるステートメントであると考えていました。

あなたはどのように思いますか?これをどのようにリファクタリングする必要がありますか?

0 投票する
1 に答える
1370 参照

node.js - Jest JS テスト カバレッジ データが Codeship から Code Climate に投稿されない

.js 単体テストに Jest を使用している Node.js ベースのプロジェクトがあります。構成設定が にcollectCoverage設定されてtrueおり、ローカルでの開発の実行時と Codeship でのビルドの実行時にテスト カバレッジ テーブルを確認できます。

ただし、テスト カバレッジ データを Code Climate に投稿して結果を表示するためのセットアップを正しく行うことができないようです。

次のように、CodeClimate のセットアップ手順で指定されたリポジトリ トークンを 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 のローカル dev 依存関係としてインストールしようとしました。

上記のセットアップの試みを組み合わせても、テスト カバレッジに関して Code Climate 側で何も確認できませんでした。

私が行ったことについての最後のメモとして、ローカル ディレクトリをコミットしていないcoverageため、Codeship ビルドには含まれていません。

誰かが私が間違っていることを理解するのを手伝ってくれますか?

0 投票する
2 に答える
1826 参照

python - 環境変数に基づいてコマンドを実行するTox

私の現在のワークフローは、Travis CI でテストされた github の PR とビルドであり、tox テスト pytest と codeclimate へのレポート カバレッジがあります。

travis.yml

tox.ini

しかし、Travis は私の環境変数をプル リクエストに渡さないため、カバレッジ レポートが失敗します。Travis のドキュメントでは、これを解決策として示しています。

ただし、tox では、tox が subprocess python モジュールを使用しており、(当然のことながら) コマンドとして認識されないため、これは機能しません。

TRAVIS_PULL_REQUEST 変数に基づくプル リクエストではなく、ビルドに対してのみ codeclimate-test-reporter を実行するにはどうすればよいですか? 独自のスクリプトを作成して呼び出す必要がありますか? よりスマートなソリューションはありますか?

0 投票する
1 に答える
541 参照

php - extract() 使用時の明示的な変数宣言

次のスニペットがあります。

このコードは完全に機能します (完全なソース コードはこちら)。ただし、外出先でいくつかの優れた慣行に従うことを確認したいと思います。私は現在 [いくつかの CodeClimate 警告] (PHPMD) を取得しています ( https://codeclimate.com/github/timegridio/timegrid/app/Listeners/SendBookingNotification.php ):

  • 「$locale」などの未使用のローカル変数は避けてください。
  • 「$timezone」などの未使用のローカル変数は避けてください。
  • 「$template」などの未使用のローカル変数は避けてください。
  • 「$subject」などの未使用のローカル変数は避けてください。
  • 「$header」などの未使用のローカル変数は避けてください。
  • 「$params」などの未使用のローカル変数は避けてください。

それを行うためのエレガントな方法はどれですか?

list()またはそのようなもので変数を明示的に宣言する必要がありますか?

前もって感謝します