2011-04-29 31 views
1

爲什麼下面的代碼只執行check2.t文件中的測試?如何執行位於幾個文件中的perl測試?

#!/usr/bin/perl -w 

use strict; 
use warnings; 
use Modern::Perl; 

use TAP::Harness::JUnit; 

my $harness = TAP::Harness::JUnit->new({ 
    xmlfile => 'output.xml', 
    namemangle => 'hudson', 
    merge => 1 
}); 

$harness->runtests(['check1.t', 'check2.t']); 

回答

0

它甚至運行check2.t的測試嗎? documentation for the module表示runtests獲取測試文件的列表,而不是數組引用。嘗試改變runtests行:

$harness->runtests('check1.t', 'check2.t'); 
2

實際上,它運行測試從check1.t同時調用它check2.t。正如davorg指出的那樣,runtests需要測試列表,而不是測試的arrayref。它似乎工作的原因是runtests也允許測試條目的格式爲[ 'filename', 'comment' ],其中filename是測試文件的名稱,而comment是要顯示的字符串。 (這是基類中的documentedTAP::Harness。)

相關問題