2012-07-06 68 views
4

我的任務是清理一些遺留代碼,這些代碼寫得很差,但測試數量驚人地多。其中一些測試運行如下代碼:對於Devel :: Cover來覆蓋特定路徑中的所有文件

fcgi/*.fcgi 

我非常希望將這些包含在我的報道報告中。事實上,我很樂意確保我可以在lib/,fcgi/utils/,之間的任何其他目錄中包括的所有內容(不管分機號)。

這是我的許多嘗試之一:

HARNESS_PERL_SWITCHES=-MDevel::Cover=+inc,fcgi,+inc,lib,+inc,util prove -rl t 

失敗!

I've also tried creating simple Build.PL or Makefile.PL scripts當我運行諸如'cover -test'或'./Build testcover'之類的東西時,仍然會收到「未定義測試」。

這是傑韋利::封面0.88和Perl 5.12.2版本

+1

你可以創建一個包含makefile.pl,一些.t文件和一個普通的.pm文件的最小測試用例tarball,以及一些其他被調用但未被正確覆蓋的文件嗎?如果我有,我敢肯定,我可以讓你正確的配置。 – Mithaldu 2012-07-06 15:25:42

+1

Mithaldu:我剛剛創建了它。下午給我你的電子郵件,我會發送它。謝謝! – Ovid 2012-07-06 15:34:33

回答

2

好了,我把你的例子,撥弄了一下它,它似乎做工精細,我以最小的Makefile.PL和蓋 - 測試。請克隆:git://gist.github.com/3061026.git

自述文件包含我的系統上發生的事情。

+0

在真實的系統中,我一直使用最少的Makefile獲得「不運行測試」。然而,正確的咒語(與'證明')似乎是: HARNESS_PERL_SWITCHES = -MDevel :: Cover = + inc,t,+ select,fcgi證明-l – Ovid 2012-07-06 16:06:43

+0

很奇怪。也許你的EUMM是舊的? – Mithaldu 2012-07-06 16:12:11

+0

Mithaldu,我必須在週一再看看。我發佈的示例適用於我的「最小測試用例」,但不適用於真正的代碼庫。 – Ovid 2012-07-06 17:27:10