2011-06-20 6 views
2

私はこのようなPerlでTAP::Harnessを使用しています:のPerl - TAP ::ハーネスとtest_args

$harness = TAP::Harness->new({ 
     formatter_class => 'TAP::Formatter::Console', 
     merge => 1, 
     verbosity => 1, 
     normalize => 1, 
     color => 1, 
     test_args => ['--url', $url, '--session', $session], 
    }); 

はいつか後、私はいくつかのテストの配列を渡し、)($ harness-> runtestsと書い呼び出します。

問題は、私のテストのすべてにおいて、次のとおりです。

use Data::Dumper; 
print Dumper \@ARGV; 

出力:

$VAR1 = []; 

test_argsは、基礎となるテストで@ARGVには出てきませんか?私はいくつかのオプションを各テストに渡す必要があります。

答えて

4

初期設定は機能しますか?私は、コードの一部を再入力

use Test::More; 
use Data::Dump qw(dump); 

dump [@ARGV]; # prints ["--url", "", "--session", ""] 

done_testing; 
+0

、B/C私は動的に渡されたハッシュを記入:

テストsimple.t
use TAP::Harness; $harness = TAP::Harness->new({ formatter_class => 'TAP::Formatter::Console', merge => 1, verbosity => 1, normalize => 1, color => 1, test_args => ['--url', $url, '--session', $session], }); $harness->runtests('simple.t'); 

:私はそれを動作させるためにconstuctorにハッシュリファレンス渡ししなければなりませんでした、それはタイプミスです。あなたがそれを動作させることができるという不思議、私はあなたのコードをコピーして試してみるつもりです。 – jonathanpeppers

+0

@ Jonathan.Peppers - ハッシュ(リストとして)とハッシュリファレンスの受け渡しの違いに注意してください。 'new'呼び出し内の' {} 'はそれを構築しています。しかし、とにかく私に 'TAP :: Harness'を指摘してくれてありがとう。 – bvr

+0

{}は問題ではありませんが、質問を更新します。 – jonathanpeppers