問題タブ [devel-cover]

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 投票する
1 に答える
161 参照

perl - デフォルトの Module::Build / Test::More ディレクトリを "lib" から別のディレクトリに変更するにはどうすればよいですか?

Perl ユニット テストとコード カバレッジに関するこの投稿のディレクトリとファイル アーキテクチャを使用して(非常に役に立ちました)、ユニット テストとコード カバレッジを実行するファイルを新しい "lib" ディレクトリにコピーすると、次のように動作します。魅力!

ただし、モジュールが既存の「scripts」ディレクトリを検索する必要があります..

CPANの Module::Build ドキュメントをくまなく調べましたが、まだCan't find file lib/processBuildSubs.pmエラーが発生します

これが私がこれまでに持っているものです...

アップデート!

これも試してみました..

私が推測するいくつかの進歩は、 lib/scripts/..を見ているようですが、まだ必要なものではありません..

アップデート!

一種のハック作業ですが、今のところ、それは私にとってはうまくいきます..

このスクリプトを実行してディレクトリ名を変更し、tests/coverage を実行して、ディレクトリ名を元に戻します...誰かもっと良いアイデアがありますか?

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

perl - Perl で Devel::Cover の CSS を変更するにはどうすればよいですか?

コード カバレッジをテストするために実行する場合./Build testcover、独自のスタイルシートを使用するための何らかのオプションをオーバーライドとして渡す方法はありますか?

Devel::Cover CPAN のドキュメントを調べましたが、役に立ちませんでした。

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

perl - Devel::Cover Perl スクリプトとモジュールのカバレッジ データをマージする

Perl スクリプトとモジュールのカバレッジ用にデータをマージする際に問題があります.Devel::Cover を個別に実行すると問題なく動作しますが、データを結合しようとすると、モジュールではなく Perl スクリプトだけの統計が失われます..

説明させてください..

次のようなディレクトリツリーがあります..

ルート Code_Coverage_Test ディレクトリ内には、モジュールのテストをビルドする Build.pl ファイルと、いくつかのコマンドを自動化する他の 2 つのスクリプトを開始するスクリプトがあります。

./Build.pl

./startTests.sh

lib ディレクトリ内に、コード カバレッジを実行しようとしているファイルがあります。

lib/testPLCoverage.pl

lib/testPMCoverage.pm

t ディレクトリには、モジュール用の .t テスト ファイルと、テストを開始する 2 つのスクリプトがあります。どちらもルート ディレクトリの startTests.sh によって呼び出されます。

t/testPMCoverage.t

t/doPLtest.sh

t/doPMtest.sh

私が直面している問題は、doPLtests.sh スクリプトを実行すると、カバレッジ データが取得されることです。問題ありません..

ただし、doPMtest.sh スクリプトが終了し、startTests.sh スクリプトが Build testcover コマンドを開始すると、途中でそのデータが失われ、これらのメッセージが表示されます ...

..そしてどういうわけか私はデータを失います

Perl モジュールと Perl スクリプトのテストを組み合わせて、1 つのファイルで有効なコード カバレッジを得るにはどうすればよいですか?

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

perl - Devel::Cover を使用してコード カバレッジ結果を生成できない

c4rgr.plを使用してテスト ファイルのコード カバレッジを見つけようとしましたDevel::Cover.pm同じエリアにモジュールがあります。を使用しており、内部にサブディレクトリがperl -MDevel::Cover c4rgr.pl生成されます。cover_dbruns

サブディレクトリ内には、コマンドrunsを実行するたびにバージョン管理されたディレクトリが作成され、 aが取得されます。このファイル (と思います) には、コード カバレッジ結果の生データが含まれています。Covercover.13cover.13

それでも、HTML 出力形式またはターミナル画面でテスト結果を取得できません。

これが私がすることです:

  1. 実行しますperl -MDevel::Cover c4rgr.pl

    ここではc4rgr.pl、同じ領域にある .pm モジュールを使用しています。

  2. 上記のコマンドを実行すると、テスト ファイルが実行されますが、 Devel::CoverHTML 出力に示されているようなテスト カバレッジ出力が得られません。それにもかかわらず、cover.13ファイルは毎回作成されます。

    Cover.13<- 1401378982.24872.12631<- 実行 <- cover_db.

  3. HTMLファイルの入手方法を教えてください。同じ機能でダミー テストを実行し、HTML ファイルを生成することができました。しかし、私の実際のテストでは、そうではありません。cover.13または、私の場合は行われていない HTML にファイルを変換する方法はありますか?

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

perl - Devel::wrapper とテストスクリプト付きの .pm モジュールで使い方をカバーする

Main.pmperl(Mainwrapper) で書かれたラッパーを持つ.pm モジュール ( ) があります。この 2 人は開発チームの一員です。wrapper( ) をテストするテスト スクリプトを perl で作成しましたTestwrapper.plDevel::Coverここで、ラッパー (他の人が作成) とそのテスト スクリプト (私が作成)を使用してカバレッジを取得する必要があります。Mainwrapper はもちろん .pm モジュールを使用します。

perl -MDEVEL:COVER Testwrapper.plすべての MainwrapperMain.pmTestwrapper.pl同じディレクトリに置いてから使用してみました。コードにも含まMain.pmれていTestwrapper.plます。Testwrapper.plレポートでは とMain.pmモジュールのみを取り上げることができました。私が実行した回避策の 1 つは、Mainwrapper の名前を として変更Mainwrapper.pmし、ファイルに含めることでしたTestwrapper.pl。これにより、すべてをカバーできます。ただし、これは長期的な解決策ではありません。誰かがこれをどうやって行くか教えてもらえますか?

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

perl - Devel::Cover のオン/オフ切り替えの提供

CodeA をテストするテスト コードで Devel::Cover を使用している場合、Devel::Cover にはカバレッジをオフにするオプションがありますか。ユーザーごとにカバレッジ モジュールのオンとオフを切り替える方法はありますか?

テスト コードは CodeA をテストします。Devel::Cover コマンドは、CodeA コマンドがテストされるたびにテスト コードに埋め込まれます。

Devel::Cover には、このカバレッジ コレクションをオンまたはオフにできる規定が含まれていますか?

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

perl - Devel::Cover の一部としてカバー スクリプトに @INC を提供する方法

モジュール@INCの一部であるカバー スクリプトを外部から提供するにはどうすればよいですか。Devel::Coverトリガーされた場所に関連するライブラリを検索して、カバースクリプトを実行したい。

アイデアは、ソースの一部としてカバーを持つことであり、これを取得した人は誰でも、それがどこにあるかに関連するライブラリを気にせずに直接実行できるはずです。

スクリプトを変更して、BEGINパスを にプッシュするブロックをこの中に入れようとしましたINC。正常に動作しますが、スクリプトを変更するのはあまり良くありません。INC呼び出されたときに相対パスが必要です。

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

perl - Devel::Cover でディレクトリを除外する

CentOS で apache Web サーバーを使用して Perl ベースのアプリケーションをカバーしたかったので、それを行うためにDevel::Coverに行きました。いくつかの最初の闘争の後、私はそれをインストールしました。PERL5OPTenv 変数はカバレッジの取得に役立たなかったのでuse Devel::Cover、コード内に含めようとしました (それが悪い考えであることはわかっていますが、目的には役立ちます)。Web サーバーを再起動した後、 はそのcover_db実行/構造を生成していますが、データは CPAN 汎用モジュールでもトランザクションが行われているようで、これにより合計カバレッジ スコアが低下します。

例: から単一のメソッドを使用するNet::FTPと、そのモジュールの合計行数を考慮して合計スコアが減ります。CPAN のすべてのモジュールについても同様です。

私が必要としているのは、カバレッジのために特定のディレクトリからファイルを選択し、残りをすべて無視する機能です。説明から、+incおよび-incオプションはこのために設計されているようですが、それらを使用しようとすると、次のエラーが発生します。

Unknown option: inc

いくつか知りたいことがあります。

  1. トランザクションで更新された後 、レポートの生成中cover_dbに使用して除外することは可能ですか?cover -options
  2. 特定のパスのみをカバーする他の方法はありますか?

応答に感謝します。

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

perl - Devel::Cover 条件付き三項演算子の分岐カバレッジ

coverモジュールから実行しDevel::Coverていて、条件付き三項演算子を使用する行で分岐カバレッジの 50% を取得しています。

return @rgb ? map { hex $_ } @rgb : undef;

これでよろしいですか?if/else100% のカバレッジを得るには、ブロックを使用するようにコードを変更する必要がありますか?

私はDevel::Coverこれに慣れていないので、これについてあなたが提供できる洞察は本当に役に立ちます。

ありがとう

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

perl - Devel::Cover HTML レポート プロセスが強制終了されました

200 以上のセレン テスト ケースを含むテスト スイートがあり、それぞれで Devel::Cover を使用してカバレッジをキャプチャします。すべてのテスト ケースを実行した後、'cover cover_db -report html' を使用して HTML レポートを生成しようとすると、メモリ不足のエラーで 16 GB 近くのすべてのメモリを消費した後、プロセスが強制終了されます。これを解決する方法はありますか?どんな助けでも素晴らしいでしょう