問題タブ [coveralls]
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.
rspec - カバーオールと rspec-puppet を使用してコード カバレッジを取得するには?
このブランチは、Coveralls を使用してコード カバレッジを取得するために作成されました。
.coveralls.yml
spec/spec_helper.rb
コード カバレッジ レポートが作成されますが、.pp ファイルが除外されているようです。Coveralls を使用してコード カバレッジを取得するには?
node.js - イスタンブールから Coveralls.io にカバレッジ データを送信するにはどうすればよいですか?
状況は次のとおりです。私は Node.js の完全な初心者であり、最初のパッケージに取り組んでいます。リポジトリは GitHub にセットアップされており、Mocha で動作するテストをいくつか作成し、Travis CI にも追加しました。ちょうど今、Mocha を介してイスタンブールを使用するコードを思いつきました。
問題は、Istanbul のデータを Coveralls.io に送信するシステムをセットアップしようと 1 日中試みているのですが、まったく理解できないことです。node-coverallsパッケージを使用してみました。これにより、次のサンプル スクリプトが得られます。
cat
ただし、Windowsコンピューターを使用しているため、コマンドがありません。私はスクリプトを書くことも完全に初心者なので、1 時間ググって実験した結果、次のように思いつきました。
これが出力をパイプするのか、代わりに出力を追加するのか正確にはわかりcoveralls.js
ません。エラーにならなかったのでプッシュしてみましたが、Travis CI の Node バージョンごとに失敗しました。
また、私のレポのカバーオールのページは、「Ruby + Travis CI のカバーオールのセットアップ」ページにまだあります。ファイルを作成しました.coveralls.yml
が、現在空です。だから私は2つの質問があると思います:
- イスタンブール データをノード カバーオールにパイプするために、Windows でシステムをセットアップするにはどうすればよいですか?
- 登録するためにレポトークンをファイルに入れる必要がありますか?
.coveralls.yml
Coveralls はトークンを非公開に保つことを強調しているため、そうではないと確信しています。
Mocha + Istanbul + Coveralls を使用する GitHub でホストされている基本的な Node パッケージがある場合は、それがどのようにセットアップされているかを確認できれば幸いです。
もう1つ、レポのどこにスクリプトを配置する必要があるのか わかりません。のafter-success
セクションに入り.travis.yml
ますか?
github - GitHub で Coveralls と Travis を接続するにはどうすればよいですか?
私は現在、パブリック GitHub リポジトリの PR に TravisCI を構築しています。Coveralls の手順では、これを .coveralls.yml ファイルに入れるように指示されています。
.coveralls.yml ファイルが公開され、GitHub にチェックインされるため、これはうまくいきません。私の TravisCI は、ブランチに接続された私の GitHub リポジトリに統合され、PR で起動します。
だから私はこれを試しました:
TravisCI のサイトで、環境変数を設定しました。
COVERALLS_REPO_TOKEN をトークンの値に。
次に、.travis.yml を次のように改造しました。
ブランチで PR を作成すると、これは正常に実行されます。エラーは発生せず、Travis のコンソールに、カバレッジ テストが実行され、ファイルが生成されたという出力が表示されます。しかし、Coveralls に移動すると、何も表示されません。「このレポにはビルドがありません。」
どうすればこれを設定できますか?
編集:悲しいことに、サイコロだけで .coveralls.yml を作成しようとしましたservice_name: travis-ci
。
python - Jupyter/iPython をカバーオールでテストしていますか?
カバレッジ テストにいくつかの Jupyter ノートブックを追加したいと考えています。これを行う方法は、nbconvert を介してノートブックを変換し、変換されたノートブックをテストすることかもしれませんが、ipython で実行しない限り、python は「get_ipython」について認識しません。これは、カバレッジで呼び出す方法がわかりません。指図。ここで何かアイデアはありますか?
code-coverage - Appveyor でカバーオールが機能しない
プロジェクトのビルドには「appveyor ツール」を使用し、コード カバレッジには「coveralls ツール」を使用しました。私のappveyor.yml
ファイルは以下のようなものです。コマンドの実行中に、次のエラーがスローされます。
「悪い応答: 422 {"メッセージ":"このジョブに一致するリポジトリが見つかりませんでした。","エラー":true}** コマンドはコード 1 で終了しました」.
だから、解決策を教えてください。
unit-testing - カバレッジ情報を使用して Go で os.Exit シナリオをテストする (coveralls.io/Goveralls)
この質問: Go で os.exit シナリオをテストする方法(およびその中で最も投票された回答) は、os.Exit()
go 内でシナリオをテストする方法を設定します。os.Exit()
簡単に傍受できないため、バイナリを再度呼び出して終了値を確認する方法が使用されます。この方法については、Andrew Gerrand (Go チームのコア メンバーの 1 人) によるこのプレゼンテーションのスライド 23 で説明されています。コードは非常に単純で、以下に完全に再現されています。
関連するテスト ファイルとメイン ファイルは次のようになります(このファイルのペアだけが MVCE であることに注意してください)。
と
ただし、この方法には特定の制限があるようです。
goveralls / coveralls.io を使用したカバレッジ テストは機能しません。たとえば、こちらの例(上記と同じコードですが、便宜上 github に配置されています) を参照してください。ここではカバレッジ テストが生成されます。つまり、実行中のテスト関数は記録されません。質問に答えるためにこれらのリンクは必要ないことに注意してください-上記の例はうまく機能します-上記をgithubに入れ、travisを介してcoveralls.ioにたどり着いた場合に何が起こるかを示すためだけです.
テスト バイナリを再実行すると、壊れやすいように見えます。
具体的には、リクエストに応じて、カバレッジの失敗のスクリーンショット (リンクではなく) を以下に示します。赤い陰影は、coveralls.io に関する限り、Crasher()
呼び出されていないことを示します。
これを回避する方法はありますか?特に1点目。
golang レベルでの問題は次のとおりです。
Goveralls フレームワークが実行
go test -cover ...
され、上記のテストが呼び出されます。上記のテストは、OS 引数
exec.Command / .Run
なしで呼び出します-cover
etc. を無条件に
-cover
引数リストに入れるのは魅力的ではありません。これは、非カバレッジ テスト内で (サブプロセスとして) カバレッジ テストを実行することになり、引数リストを解析して-cover
etc. の存在を確認することは、非常に重要な解決策のように思えます。etc. を引数リストに入れても
-cover
、同じファイルに 2 つのカバレッジ出力が書き込まれ、うまくいきません。何らかの方法でマージする必要があります。私がそれに最も近いのは、この golang issueです。
概要
私が求めているのは、go カバレッジ テストを (できれば travis、goveralls、および coveralls.io を介して) 実行する簡単な方法であり、テストされたルーチンが で終了するテスト ケースと、OS.exit()
そのテストのカバレッジが記録されているテスト ケースの両方が可能です。 . 上記の re-exec メソッドを使用することを強く希望します (それが機能する場合)。
ソリューションは、 のカバレッジ テストを表示する必要がありCrasher()
ます。カバレッジテストから除外Crasher()
することはオプションではありません.現実の世界では、私がやろうとしていることは、より複雑な関数をテストすることlog.Fatalf()
です。私がカバレッジ テストを行っているのは、それらの条件のテストが適切に機能することです。