2

.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 ビルドには含まれていません。

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

4

1 に答える 1

1

もちろん、この質問を投稿した直後に、問題を解決しました。

CODECLIMATE_REPO_TOKEN を Codeship 環境変数セクションに直接配置する代わりに、コマンド (ディレクトリnpm testを生成するコマンド)の後に Codeship テスト パイプライン構成設定に含める必要がありました。また、ファイルへのパスがカバレッジ ディレクトリを示しているcoverageことを確認する必要があります。lcov.info

于 2016-06-02T21:01:07.487 に答える