2011-03-15 74 views
7

當我使用正常的測試工具,該CPAN模塊具有運行make test,它只是輸出小結(如果一切順利)。「做試驗」更詳細的在Perl

t/000_basic.t .......................... ok 
t/001_db_handle.t ...................... ok  
t/002_dr_handle.t ...................... ok  
t/003_db_can_connect.t ................. ok 
... snip ... 
All tests successful. 
Files=30, Tests=606, 2 wallclock secs 
Result: PASS 

如果我單獨運行測試,它們會輸出更詳細的信息。

1..7 
ok 1 - use DBIx::ProcedureCall::PostgreSQL; 
ok 2 - simple call to current_time 
ok 3 - call to power() with positional parameters 
ok 4 - call to power() using the run() interface 
ok 5 - call to setseed with a named parameter 
ok 6 - call a table function 
ok 7 - call a table function and fetch 

如何在詳細模式下運行所有​​測試?有什麼我可以傳遞給make test

回答

13

ExtUtils::MakeMaker文檔中make test部分解釋:

make test TEST_VERBOSE=1 

如果分發使用Module::Build,這是一個有點不同:

./Build test verbose=1 

您還可以使用自帶的Test-Harnessprove命令:

prove -bv 

(或prove --blib --verbose如果你更喜歡長選項。)這個命令有點不同,因爲它確實而不是先構建模塊。該--blib選項導致它尋求通過make./Build創建的內置但是,卸載模塊,但如果你忘了改變的東西后重建模塊,它將運行鍼對以前建造的拷貝測試。如果你還沒有建立模塊,它會測試模塊的安裝版本。

prove也可以讓你只運行一個特定的測試或測試:從解壓模塊的頂級目錄

prove --blib --verbose 

prove -bv t/failing.t 
7

您也可以使用prove命令。 --blib包含一個已建成但未安裝的模塊分發所需的目錄。

+0

哦,很漂亮。它還突出了我特別尋找的東西(跳過測試)。 – Thilo 2011-03-15 04:57:23