2016-05-15 2 views
0

を示すテスト引数のフラグのすべての種類私は通常の方法で構築しています小さなgoコマンドラインユーティリティを持っているいくつか:どのように行くのプログラムの使用に

go build 

私は、コマンドラインを追加しflagパッケージを使用フラグ。そして、私は多くのテストフラグが表示されるようになるまで、すべてがうまくいっていました。これよりも多くあります

-test.bench string 
     regular expression to select benchmarks to run 
    -test.benchmem 
     print memory allocations for benchmarks 
    -test.benchtime duration 
     approximate run time for each benchmark (default 1s) 
    -test.blockprofile string 
     write a goroutine blocking profile to the named file after execution 
    -test.blockprofilerate int 
     if >= 0, calls runtime.SetBlockProfileRate() (default 1) 

:私はflag.Usageを使用しての使用を印刷するとき今、私は、余分なフラグの多くを参照してください。

メインフラグセットを使用し、flag.IntVarなどのフラグを追加しています。

私は何をしたのか、どのようにしてこれを有効にできたのか分かりません。私の他のプログラムは、これらのテストフラグをデフォルトの使用法メッセージに含めません。私はどんな指針にも感謝します。

+0

Hm ... 'grep testing $(ls * .go | grep -v '_test.go')'は何も表示しません。 '* _test.go'ファイルでコンパイルするかどうかの決定はどうすればできますか? –

+0

Ah。あなたは正しかった。パッケージの依存関係でテストを参照していたので、grepがそれを受け取っていませんでした。それを回答として提出したいですか? –

答えて

2

testingパッケージのinit()は、フラグパッケージを使用してアプリケーションにコマンドライン引数を追加します。

testingは、いくつかの非テストコードから参照される可能性があります。

関連する問題