これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド Provep です。
プログラム:
NAME
prove - TAP ハーネスを介してテストを実行します。
USAGE
証明 [オプション] [ファイルまたはディレクトリ]
OPTIONS
ブール値のオプション:
-v、--verbose すべてのテスト行を出力します。
-l, --lib テストのパスに「lib」を追加します (-Ilib)。
-b, --blib 「blib/lib」と「blib/arch」をパスに追加します。
あなたのテスト
-s、--shuffle テストをランダムな順序で実行します。
-c, --color 色付きのテスト出力 (デフォルト)。
--nocolor テスト出力に色を付けません。
--count 詳細でない場合に X/Y テスト数を表示します。
(デフォルト)
--nocount X/Y テストのカウントを無効にします。
-D --dry ドライラン。 実行されるはずのテストを表示します。
-f, --failures 失敗したテストを表示します。
-o, --comments コメントを表示します。
--ignore-exit テスト スクリプトからの終了ステータスを無視します。
-m, --merge テスト スクリプトの STDERR を STDOUT とマージします。
-r、--recurse ディレクトリに再帰的に降下します。
--reverse テストを逆の順序で実行します。
-q、--quit テストの実行中に一部のテスト出力を抑制します。
-Q、--QUIET 要約結果のみを出力します。
-p、--parse TAP 解析エラーがある場合は、その完全なリストを表示します。
--directives TODO または SKIP ディレクティブを使用した結果のみを表示します。
--timer 各テスト後の経過時間を出力します。
--trap Ctrl-C をトラップし、割り込み時に概要を出力します。
--normalize 詳細出力での TAP 出力を正規化します。
-T 汚染チェックを有効にします。
-t 汚染警告を有効にします。
-W 致命的な警告を有効にします。
-w 警告を有効にします。
-h、-helpこのヘルプを表示する
-?、このヘルプを表示します
-V, --version バージョンを表示します
-H, --man 証明のためのマンページが長くなりました
--norc デフォルトの .proverc を処理しません。
引数を取るオプション:
-I 含めるライブラリ パス。
-P プラグインのロード (App::Prove::Plugin::* を検索します。)
-M モジュールをロードします。
-e, --exec テストを実行するインタープリター (コンパイル済みの場合は '')
テスト。)
--ext テストの拡張子を設定します (デフォルトは「.t」)
--harness 使用するテスト ハーネスを定義します。 「TAP::ハーネス」を参照してください。
--formatter 使用する結果フォーマッタ。 「フォーマッター」を参照してください。
--source SourceHandler をロードおよび/または設定します。 見る
ソースハンドラー。
-a、--archive out.tgz 結果の TAP をアーカイブ ファイルに保存します。
-j, --jobs N N 個のテスト ジョブを並行して実行します (9 を試してください)。
--state=opts プローブの永続的な状態を制御します。
--rc=rcfile rcfile からのプロセス オプション
--rules 並列処理と順次処理のルール。
注意事項
~/.proverc / ./.proverc
If ~/.proverc or ./.proverc 存在すると、それらが読み取られ、含まれるオプションが処理されます。
コマンドラインオプションの前に。 のオプション .Proverc と同じ方法で指定されます
コマンドラインオプション:
# .proverc
--state=ホット、高速、保存
-j9
追加のオプション ファイルは、「--rc」オプションで指定できます。 デフォルトのオプションファイル
「--norc」オプションにより処理は無効になります。
Windows および VMS では、オプション ファイルの名前は次のとおりです。 _プルーク ではなく .Proverc そして求められている
現在のディレクトリ内のみ。
リーディング from 「標準入力」
ファイル内にテスト (または URL、またはテストしたいもの) のリストがある場合、
「-」を使用してテストに追加できます。
証明 - < my_list_of_things_to_test.txt
このディストリビューションの「examples」ディレクトリにある「README」を参照してください。
デフォルト ホイール試乗 ディレクトリ
ファイルまたはディレクトリが指定されていない場合、「prove」はパターンに一致するすべてのファイルを検索します。
「t/*.t」。
色付きの ホイール試乗 出力
TAP::Formatter::Color を使用した色付きのテスト出力がデフォルトですが、出力が
端末、カラーが無効になっています。 「--color」スイッチを追加することでこれをオーバーライドできます。
カラーサポートには、Unix 系プラットフォームでは Term::ANSIColor が必要で、Win32::Console では
ウィンドウズ。 必要なモジュールがインストールされていない場合、カラー出力は利用できません。
出口 Code
テストが失敗した場合、「prove」はゼロ以外のステータスで終了します。
Arguments 〜へ テスト
テストに引数を与えることが可能です。 そうするためには、それらをprove自身のものから分離します
arisdottle '::' を使用した引数。 例えば
証明 -vt/mytest.t :: --url http://example.com
走る t/mytest.t オプション「--url」を使用 http://example.com'。 複数実行する場合
それぞれが同じ引数を受け取るかどうかをテストします。
「--実行」
通常、Perl テストのリストを渡すだけで、ハーネスは実行方法を認識します。
彼ら。 ただし、テストが Perl で書かれていない場合、またはすべてのテストを呼び出す必要がある場合は、
まったく同じように、「-e」または「--exec」スイッチを使用します。
--exec を証明する '/usr/bin/ルビー -w't/
--exec を証明する '/ usr / bin / perl -Tw -mstrict -Ilib' t/
証明 --exec '/path/to/my/customer/exec'
" - マージ"
診断が正しい順序で表示されていることを確認する必要がある場合は、
テスト結果を表示するには、「--merge」オプションを使用して、テスト スクリプトの STDERR をテスト スクリプトにマージできます。
STDOUT。
これにより、STDOUT (テスト結果が表示される場所) と STDERR (テスト結果が表示される場所) が保証されます。
診断が表示されます)同期が維持されます。 ハーネスはテストの診断を表示します
STDERRで出力します。
注意: これは少し面倒です。 特に、
STDERR は、テスト ハーネスが混乱するテスト結果のように見えます。 このオプションのみを使用してください
結果を理解し、リスクを許容できるのであれば。
" - トラップ"
「--trap」オプションは、テスト実行中に SIGINT (Ctrl-C) をトラップし、
実行が中断された場合でもテストの概要を表示
" - 州"
「prove」に前回のテスト実行の状態を記憶させ、選択および/または順序付けを依頼できます。
保存された状態に基づいてテストが実行されます。
「--state」スイッチには引数が必要です。引数は、XNUMX つまたは複数のコンマ区切りのリストでなければなりません。
以下のオプションの詳細。
"過去"
最後に状態を保存したときと同じテストを実行します。 これにより、次のことが可能になります。
たとえば、シャッフルされたテストの順序を再作成します。
# すべてのテストをランダムな順序で実行します
$prove -b --state=save --shuffle
# 同じ順序で再度実行します
$prove -b --state=last
"失敗した"
前回の実行で失敗したテストのみを実行します。
# すべてのテストを実行する
$prove -b --state=save
# 実行の失敗
$prove -b --state=失敗
「保存」オプションも指定すると、新しく合格したテストは除外されます。
その後の実行。
# 失敗がなくなるまで繰り返します
$prove -b --state=失敗、保存
"合格した"
前回の合格したテストのみを実行します。 新たな問題が発生していないことを確認するのに役立ちます
導入されました。
"すべて"
すべてのテストを通常の順序で実行します。 複数のオプションを指定できるため、すべてのテストを実行するには
まずは前回の失敗から:
$prove -b --state=失敗、すべて、保存
"熱い"
最近失敗したテストを最初に実行します。 各テストの最後の失敗時間は次のとおりです。
保管されています。 「ホット」オプションを使用すると、最近失敗した順にテストが実行されます。
$prove -b --state=hot,save
一度も失敗したことのないテストは選択されません。 すべてのテストを最も多くの条件で実行するには
最近初めての使用に失敗しました
$prove -b --state=hot,all,save
このオプションの組み合わせは次のように指定することもできます
$prove -b --state=adrian
「とど」
todo を使用してテストを実行します。
"遅い"
最も遅いものから最も速いものへの順序でテストを実行します。 これは、「-j」と組み合わせて使用すると便利です。
並列テストを切り替えて、最も遅いテストが最初に実行されるようにします。
$prove -b --state=slow -j9
"速い"
テストを最も速いものから最も遅いものへの順序で実行します。
"新着"
テストの変更時間に基づいて、新しいものから古いものへの順序でテストを実行します。
スクリプト。
"古い"
最も古いものから新しいものへの順序でテストを実行します。
"新鮮な"
前回のテスト実行以降に変更されたテスト スクリプトを実行します。
"保存"
終了時に状態を保存します。 状態は次のファイルに保存されます。 。証明する (_証拠 Windows上で
および VMS) は現在のディレクトリにあります。
「--state」スイッチは複数回使用できます。
$prove -b --state=hot --state=all,save
-ルール
「--rules」オプションは、どのテストを順番に実行するか、どのテストを実行するかを制御するために使用されます。
「--jobs」オプションが指定されている場合は並行して実行されます。 オプションは複数指定できます
順番が重要です。
最も実際的な使用法は、一部のテストが「並列対応」ではないことを指定することです。
--rules を使用してファイルに言及しても、そのファイルはテストとして実行するように選択されないため、
.proverc ファイル内の一部のルール設定を「設定して忘れる」ことができます。 そうすれば、できるようになります
並列テストのパフォーマンス上の利点を最大限に活用しますが、
例外は引き続き並列実行されます。
-ルール 例
# 「p」で始まるテストを除くすべてのテストは並行して実行できます。
--rules='seq=t/p*.t' --rules='par=**'
# すべてのテストは順番に実行する必要がありますが、「p」で始まるテストは並列で実行する必要があります。
--rules='par=t/p*.t'
-ルール 分解能
· デフォルトでは、すべてのテストを並行して実行できます。 独自のものを指定する
ルールによりこれが削除されます。
・「初戦勝ち」。 テストに一致する最初のルールが適用されます。
· ルールに一致しないテストは、実行の最後に順番に実行されます。
· ルールの存在はテストの選択を意味するものではありません。 それでも指定する必要があります
実行するテスト。
· テストの並列実行を許可するルールを指定しても、テストは実行されません。
平行。 ハーネス オブジェクトで並列「ジョブ」の数を指定する必要があります。
-ルール グロブスタイル パターン マッチング
--rules に対して独自の glob スタイルのパターン マッチングを実装します。 サポートされているものは次のとおりです
パターン:
** は、パス名内の / を含む任意の数の文字です。
* はファイル名/ディレクトリ名内の XNUMX 個以上の文字です
? ファイル名/ディレクトリ名内の XNUMX 文字だけです
{foo,bar,baz} は foo、bar、baz のいずれかです。
\ はエスケープ文字です
その他 高度な 仕様 for パラレル vs シーケンス ラン ルール
何が並行して実行されるのか、何が順番に実行されるのかをより高度に管理する必要がある場合は、を参照してください。
TAP::Harness および TAP::Parser::Scheduler の関連する「ルール」ドキュメント。 もし何か
「prove」を介して直接実行するだけでは不十分です。独自のハーネスを作成して、
これらの機能に直接アクセスします。
@株式会社
prove は、「prove を実行する Perl に渡されるオプション」と「prove を実行する Perl に渡されるオプション」の間の分離を導入します。
"テストを実行する Perl に渡されるオプション"; この区別は設計によるものです。 したがって、
テストを実行している perl はデフォルトの @INC で開始されます。 追加のライブラリディレクトリ
「PERL5LIB」環境変数、「PERL5OPT」の -Ifoo、または
「-Ilib」オプション 証拠.
汚染 モード
通常、Perl プログラムがテイント モードで実行されると、「PERL5LIB」の内容は
環境変数は @INC には現れません。
「PERL5LIB」は、@INC にビルド ディレクトリを追加するテスト中によく使用されるためです。
「PERL5LIB」で見つかったディレクトリの名前を -I スイッチとして渡します。 正味の効果は、
これは、prove がテイント モードで実行されている場合でも、「PERL5LIB」が受け入れられるということです。
フォーマッター
カスタム TAP::Parser::Formatter をロードできます。
証明 --formatter MyFormatter
SOURCE ハンドラー
カスタム TAP::Parser::SourceHandlers をロードして、パーサーの解釈方法を変更できます。
特定の ソース タップの。
証明 --source MyHandler --source YetAnother t
ソースに構成を提供したい場合は、以下を使用できます。
証明 --source MyCustom \
--source Perl --perl-option 'foo=bar baz' --perl-option avg=0.278 \
--source File --file-option extensions=.txt --file-option extensions=.tmp t
--source pgTAP --pgtap-option pset=format=html --pgtap-option pset=border=2
各「--$source-option」オプションは、「=」で区切られたキーと値のペアを指定する必要があります。 もし
オプションには複数の値を指定できます。「extensions=」のように複数回指定するだけです。
上記の例。 オプションがハッシュ参照である必要がある場合は、値を XNUMX 番目として指定します。
上記の「pset=」の例のように、ペアは「=」で区切られます (「=」はバックスラッシュでエスケープします)。
すべての「--sources」はハッシュに結合され、TAP::Harness の「sources」の「new」に渡されます。
パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
設定がどのように渡されるかについての詳細は、「TAP::Parser::IteratorFactory」を参照してください。
SourceHandler.
PLUGINS
プラグインは「-P」を使用してロードできます。プラグイン」 構文、例:
-PMyPlugin を証明する
これにより、「App::Prove::Plugin::MyPlugin」という名前のモジュールが検索されますが、検索に失敗した場合は、
「マイプラグイン」。 プラグインが見つからない場合、「prove」は文句を言って終了します。
プラグイン名に「=arg1,arg2,etc」を追加することで、プラグインに引数を渡すことができます。
-PMyPlugin=fou,du,fafa を証明する
詳細については、個々のプラグインのドキュメントを確認してください。
利用できます プラグイン
利用可能なプラグインの最新リストについては、CPAN を確認してください。
<http://search.cpan.org/search?query=App%3A%3AProve+プラグイン>
書き込み プラグイン
App::Prove の「プラグイン」を参照してください。
onworks.net サービスを使用してオンラインで Provep を使用する