私はEclipseEPICIDEを使用して、私も書いたいくつかのPerlモジュールを呼び出すいくつかのPerlCGIスクリプトを書いています。EPIC IDEを使用すると、CGIスクリプトを実行するPerlCGIの「実行構成」を構成できます。次に、Seleniumをセットアップし、単体テストファイルの1つでいくつかのSeleniumコマンドを実行して、cgiスクリプトをそのペースで実行します。しかし、Module :: Build dispatch'testcover'のカバレッジレポートには、モジュールコードが実行されたことが示されていません。私のcgiスクリプトによって実行されましたが、CGIスクリプトは手動で実行され、単体テストファイルによって直接実行されなかったと思います。そのため、カバレッジが認識されないのかもしれません。これを正しく行う方法はありますか?Seleniumと単体テストファイルを統合し、コードカバレッジをなんとかして統合できますか?
1 に答える
3
私はSeleniumやEPICに精通していませんが、回避策の1つは(誰かがよりネイティブなソリューションを提供するまで)、実行構成コマンドラインに「-MDevel::Cover」を含めることです。
さらに悪いことに、BEGIN {}ブロックに条件付きロジックを追加します。これは、セレン環境変数に基づいて、条件付きで実行されます。use Devel::Cover
更新:
Devel ::Coverからの出力を抑制できるはずです。-MDevel::Cover=-silent,1
$ perl5.8 -MDevel::Cover -e '{1;}'
Devel::Cover 0.64: Collecting coverage data for branch, blah
Selecting packages matching:
Ignoring packages matching:
blah, blah, blah
---------------------------- ------ ------ ------ ------ ------ ------ ------
File stmt bran cond sub pod time total
---------------------------- ------ ------ ------ ------ ------ ------ ------
Total n/a n/a n/a n/a n/a n/a n/a
---------------------------- ------ ------ ------ ------ ------ ------ ------
$ perl5.8 -MDevel::Cover=-silent,1 -e '{1;}'
$
于 2010-05-25T01:08:50.587 に答える