4

私はEclipseEPICIDEを使用して、私も書いたいくつかのPerlモジュールを呼び出すいくつかのPerlCGIスクリプトを書いています。EPIC IDEを使用すると、CGIスクリプトを実行するPerlCGIの「実行構成」を構成できます。次に、Seleniumをセットアップし、単体テストファイルの1つでいくつかのSeleniumコマンドを実行して、cgiスクリプトをそのペースで実行します。しかし、Module :: Build dispatch'testcover'のカバレッジレポートには、モジュールコードが実行されたことが示されていません。私のcgiスクリプトによって実行されましたが、CGIスクリプトは手動で実行され、単体テストファイルによって直接実行されなかったと思います。そのため、カバレッジが認識されないのかもしれません。これを正しく行う方法はありますか?Seleniumと単体テストファイルを統合し、コードカバレッジをなんとかして統合できますか?

4

1 に答える 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 に答える