Clojure DEPSプロジェクトのためにCoDecovを準備する方法


私は最近、ツールを使用して私のクロジュアプロジェクトのCodecovで報告コードのカバレッジを設定します.に関するDEPSとビルドそれはかなり簡単であることがわかりました、しかし、いろいろな部分のためのドキュメンテーションは少し曖昧でした.あなたは私が私のプロジェクトのためにそれを設定242479152のコンテキストで一緒に取ったすべての変更を見ることができます.
this commit
仮定
これらの指示は、プロジェクトが私と同じツールセットを使用していると仮定します.
ツールによる
  • クロジュール.DEPS
  • ギタブ
  • circleci
  • コデコフ
  • 同じアイデアはサービスの他の組み合わせでうまく動作するはずですが、CircleCiの代わりにGitHubやTravisの代わりにgitlabを使用する場合は、多少異なることをするか、何らかの構文を調整する必要があるかもしれません.

    1 . CoDecovでプロジェクトを設定する
    Gythub と共にCoDecovにサインする
  • あなたのGithubユーザ/組織のためのダッシュボード上の「新しいリポジトリを追加」をクリックします(URLはhttps://codecov.io/gh/<gh-username>のようなものでなければなりません)
  • は、レポ
  • を選びます
    これはCoDecovトークンを示すスクリーンであなたを残します.そうでない場合は、CodeCoVのプロジェクトの「設定」タブをクリックしてEトークンを見てください.コピー.

    2 . CoDecovトークンをCircleCiに追加する
    CYCLECCI「プロジェクト設定」「環境変数」CODECOV_TOKENに設定された値に私は、あなたのプロジェクトがCircleCiにすでに建設していると仮定します.ない場合は、上の上の同様の手順を行うことができます(GigTubとのサインインとプロジェクトを追加)、そして私の ベビーベッドを開始する.
    config for a Clojure deps project
    CIでテスト実行からCODecovレポートを生成する
  • あなたのDEPSプロジェクトに新しいエイリアスを追加し、テストを実行し、 を使用してCoDecovレポートを生成します.
  • :coverage {:extra-paths ["test"]
               :extra-deps {cloverage/cloverage {:mvn/version "1.2.1"}}
               :main-opts ["-m" "cloverage.coverage" "-p" "src" "-s" "test" "--codecov"]}
    
    
  • この新しいエイリアスを使用するには、CircCtrl設定で実行テストステップを更新します.
  • - run:
        name: Run tests
        command: clojure -M:coverage
    
    
    cloverage
    カバーレポートをCoDecovに送る
  • あなたのCIRCLECCI設定にステップを追加し、CODecovにレポートを送信します.
  • - run:
        name: Send test coverage to Codecov
        command: bash <(curl -s https://codecov.io/bash)
    
    

    警告
    コードカバレッジは、テストスイートの品質のための素晴らしいメトリックではありません.あなたのコードのほとんどを行使するテストのカップルを書くのはかなり簡単です、しかし、あなたの全体のプログラムが基本的にデータを変えるためにパイプラインであるClojureで少なくともそれの正確さについて証明しないでください.私はまだこのメトリックを使用します.私は、それが完全なテストされていない機能があるかどうかを確認するために高レベルのチェックとして便利ですが、それはまた、デッドコードを見つけるのを助けることができます.とにかく、あなたのテストスイートの品質の尺度として、コードカバレッジメトリックにあまりにも重くないように注意してください.それはあなたが完全に何かをテストすることを忘れた場合に発生するフラグのようです.高コードカバレッジは、必ずしも良いテストスイートを示していないが、低コードカバレッジは確かに悪いものを示しています.