2017-03-23 10 views
1

私はglideをパッケージ管理に使用しているGoプロジェクトを持っています。パッケージでgo testを呼び出すときの出力の差

Iはgodocdocs(フォーマットpretty付き)に記載されているように、私はTestMainラッパーを使用go testで実行godogを使用してテストスイートを設定しています。

私はvendoringていたパッケージをテストしたくないので、私は私の場合は

go test $(glide novendor) 

とテスト呼び出し、プロジェクトは非常に簡単で、かつglide novendorはちょうど今.

を返します。私の質問です:なぜそれがgo testを実行するときに、私はシナリオやステップやその他もろもろをリスト、かなり出力の多くを得ることですが、私はgo test .を実行したとき、私はちょうど

ワンライナーを取得します
ok  gitlab.knf.local/ngs/gpp  0.015s [no tests to run] 

(これはダミーテストを追加しても変更されません)。

答えて

2

Goツールの記述方法が異なるため、出力が異なります。これは意図的なデフォルト動作です。

あなただけのリストパッケージなしgo testを実行した場合、それが現在のディレクトリにパッケージをテストします:デフォルトでは

は、テストには、引数を必要としない行きます。テストを含む現在のディレクトリのソースを使用してパッケージをコンパイルおよびテストし、テストを実行します。

あなたが(それは問題ではない、ただ一つのパッケージまたはちょうど.でもよい)go testにパッケージをリストする場合、その後、go testは、リストされたすべてのパッケージをテストします。

単一のパッケージをテストする場合は、各テストの詳細と結果を確認する必要があります。複数のパッケージをテストする場合は、通常、個々のテストの詳細には興味がありません。画面が乱雑になり、情報が画面内をスクロールするため、テストやパッケージが失敗した場合でも気付かないでしょう。複数のパッケージをテストする場合、通常、各パッケージの最終結果に興味があります。 1つのパッケージにつき1行が良い妥協点であり、明確な結果が得られます。

あなたはまだパッケージをリストするときに、より詳細な出力を表示したい場合は、単に-vフラグ渡します、詳細およびオプションについては

go test -v $(glide novendor) 

go help testを実行し、かつ/またはCommand goドキュメントのページを参照してください、特にセクションTest packagesおよびDescription of testing flags

+0

偉大な、それは、おかげでそれをクリア! –

関連する問題