書き方でGTEST最初に見て:
#include <gtest/gtest.h>
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
TEST(main, minor)
{
}
それは見ることができmain
GTESTユニットテストフレームワークに渡されるコマンドライン引数で、それはそのユニットテストのサポートコマンドライン引数、それをサポートするコマンドライン引数を意味しますか?このプログラムについてのコンパイル、生成しgtest.exe
、その後、Windowsプラットフォーム上で実行するにはgtest.exe /?
、我々は次の出力を描くことができます。
ここでは、単にいくつかのパラメータの作用下で、実際には、基本的に知っている英語を参照してください。
さらに、で環境変数を設定することも、コマンドラインパラメータの効果を達成することができます。
gtest_list_tests
、すべてのテストケースのリストだけをユニットテストケースを実行しません。
たとえば、次のテスト:
TEST(Network, Connect) {}
TEST(Network, Close) {}
TEST(Thread, Multi) {}
TEST(Thread, Single) {}
TEST(Other, main) {}
gtest_filter
試験フィルタは、かなり役に立たない、特定のテストケースの実行を指定することができるが、実行されていない、テストケースの数を指定することができ、また、ワイルドカードをサポートする*
、任意の文字列に一致する?
任意の文字、一致:
パターンセパレータ。
たとえば、次のテスト:
TEST(FlushHip, Hip) {}
TEST(FlushHip, Pih) {}
TEST(OrzFly, a) {}
TEST(FlyOrz, a) {}
TEST(FaF, 1) {}
TEST(FbF, 1) {}
これは、同時に2枚の画像の使用は、このパラメータをすることができ、詳細に実証されているgtest_list_tests
組み合わせて利用、それがために使用することができるgrep
特定のテスト機能。
gtest_also_run_disabled_tests
GTESTでは、問題があるいくつかのユニットテスト、あなたができるgtest_filter
フィルタリング;コードでユニットテストケースをフィルタリングすることができない限り、接頭辞は次のようにDISABLED_
バグ修正による問題を取り除くためにあれば、除外することができ、再び、ユニットテストを実行し、スワップを無効にし、この時間は、使用することができgtest_also_run_disabled_tests
、すべて開くためdisabled
のユースケースを。
たとえば、次のテスト:
TEST(DISABLED_FlushHip, Hip) {}
TEST(FlushHip, Pih) {}
TEST(OrzFly, DISABLED_a) {}
TEST(FlyOrz, a) {}
gtest_repeat
最も有用なのは、ユースケースを仮定すると、問題をテストするために多くの時間を実行する必要がある、またはユニット・テスト・プログラムは、多くのユースケースを持っていますが、あなただけの時間の多くは、そのように使用されているユースケースを実行したいgtest_filter
プラスgtest_repeat
を取得します。
負の数と無限ループを実行するためのテストケースの指定された数を表します。
gtest_shuffle
、 gtest_random_seed
GTEST形態で順次行わは順不同であってもよい2つのパラメータで定義された順序で行われます。
例えば、例えば:
TEST(b, 1) {}
TEST(a, 1) {}
TEST(c, 1) {}
gtets_color
カラフルな色は必要ありません。
gtest_print_time=0
各テストケースと総実行時間のない実行時間場合、閉鎖することができます。
gtest_break_on_failure
、gtest_throw_on_failure
ユニットテストケースは失敗が、それを開発するためにVSを使用することが重要であるときに例外がスローされていることを確認したり、破壊することができ、あなたは、スレッドのそれぞれは、コマンドラインのための使用をやっていないしているかを見てみましょう、停止にコードを置くことができます。
GDBとLinux上でも可能。
たとえば、次のテスト:
gtest_catch_exceptions=0
ユニットテスト異常、GTESTフレームを使用して、プログラムの実行が異常終了させることができ、このパラメータを使用してキャプチャすることが可能で投げます。
例えば、例えば:
TEST(main, minor)
{
throw std::exception();
}
参考: