GitHubでCode Climateを使ってみた

GitHubのプロジェクトでカバレッジと複雑度をとるため Code Climateを使ってみました。

Code Climate

メインは複雑度を測定するSaaSですが、カバレッジも測定してくれます。

Log in to your Code Climate dashboard with GitHub or your email.

複雑度

以下の手順で測定します。

  1. Code Climate へアクセス
  2. Add Open Source Repo をクリック
  3. GitHubのリポジトリ名を記入 (username/repository)
  4. Import Repo from GitHub をクリック

解析が完了すると結果が表示されます。

GPAは4が最高です。3未満なのであまり良くないですね..。

Codeをクリックするとファイルごとの複雑度が閲覧できます。

ファイルをクリックすると中身の詳しい解析結果を見ることができます。

カバレッジ

手順は少しややこしいです。

認証トークンの取得

Code Climateの設定でTest Coverageを開きます。

Tokenが表示されるので、コピーしておきます。

Travis CIに認証トークンを登録

.travis.ymlに記述する方法もありますが、あまり公開したいもではありません。
Travis CIのリポジトリの設定から CODECLIMATE_REPO_TOKEN に トークンをセットします。

.travis.ymlの設定変更

install, script, after_success を以下の様に記述しましょう。

language: python
python:
  - '2.7'
install:
  - pip install -r requirements.txt
  - pip install pytest pytest-cov codeclimate-test-reporter
script:
  - py.test -v --cov=. tests/
after_success:
  - codeclimate-test-reporter

--cov にはソースディレクトリのTOPを指定しましょう。
srcディレクトリがあるなら、--cov=srcが望ましいです。

今回追加したプロジェクトはchalice用のため、app.pyの関係で--cov=.となっています。

tadashi-aikawa/tina

結果

以下のようにカバレッジが算出されます。

バッチをクリックすると、バッチリンクのページが表示されます。
READMEに貼っておきましょう。

Test Coverage でファイル一覧ページに移動できますが、一部ファイルはなぜか詳細を見ることができません。
Coverallsだと見られるのですが..

総括

Code Climateというサービスを使って、GitHubプロジェクトの複雑度とカバレッジを計測しました。
後はコミット/pushすれば、都度実行されます。

複雑度 ALL A、カバレッジ90%強を目指して頑張りましょう。

GitHubでCode Climateを使ってみた” に対して1件のコメントがあります。

コメントを残す