使用gtest編寫的測試案例通常本身就是一個可執行文件,因此運行起來非常方便。同時,gtest也為我們提供了一系列的運行參數(環境變量、命令行參數或代碼里指定),使得我們可以對案例的執行進行一些有效的控制。
我這里就直接將所有命令行參數總結和羅列一下。如果想要獲得詳細的命令行說明,直接運行你的案例,輸入命令行參數:/? 或 --help 或 -help
1. 測試案例集合
| 命令行參數 |
說明 |
| --gtest_list_tests |
使用這個參數時,將不會執行里面的測試案例,而是輸出一個案例的列表。 |
| --gtest_filter |
對執行的測試案例進行過濾,支持通配符 ? 單個字符 * 任意字符 - 排除,如,-a 表示除了a : 取或,如,a:b 表示a或b 比如下面的例子: ./foo_test 沒有指定過濾條件,運行所有案例 |
| --gtest_also_run_disabled_tests |
執行案例時,同時也執行被置為無效的測試案例。關於設置測試案例無效的方法為:
// Tests that Foo does Abc.
|
| --gtest_repeat=[COUNT] |
設置案例重復運行次數,非常棒的功能!比如: --gtest_repeat=1000 重復執行1000次,即使中途出現錯誤。 |
2. 測試案例輸出
| 命令行參數 |
說明 |
| --gtest_color=(yes|no|auto) |
輸出命令行時是否使用一些五顏六色的顏色。默認是auto。 |
| --gtest_print_time |
輸出命令行時是否打印每個測試案例的執行時間。默認是不打印的。 |
| --gtest_output=xml[:DIRECTORY_PATH\|:FILE_PATH] |
將測試結果輸出到一個xml中。 1.--gtest_output=xml: 不指定輸出路徑時,默認為案例當前路徑。 2.--gtest_output=xml:d:\ 指定輸出到某個目錄 3.--gtest_output=xml:d:\foo.xml 指定輸出到d:\foo.xml 如果不是指定了特定的文件路徑,gtest每次輸出的報告不會覆蓋,而會以數字后綴的方式創建。xml的輸出內容后面介紹吧。 |
3. 對案例的異常處理
| 命令行參數 |
說明 |
| --gtest_break_on_failure |
調試模式下,當案例失敗時停止,方便調試 |
| --gtest_throw_on_failure |
當案例失敗時以C++異常的方式拋出 |
| --gtest_catch_exceptions |
是否捕捉異常。gtest默認是不捕捉異常的,因此假如你的測試案例拋了一個異常,很可能會彈出一個對話框,這非常的不友好,同時也阻礙了測試案例的運行。如果想不彈這個框,可以通過設置這個參數來實現。如將--gtest_catch_exceptions設置為一個非零的數。 注意:這個參數只在Windows下有效。 |
