CLI API 參考

在 Pest 文件的前幾章,我們介紹了 Pest 中眾多的 CLI 選項。然而,Pest 還提供了許多其他有益的選項。以下提供完整的 CLI API 參考,供您參考。

組態

  • --init:初始化標準的 Pest 組態。
  • -c|--configuration <file>:從 XML 檔案讀取組態。
  • --no-configuration:略過預設的組態檔 (phpunit.xml)。
  • --no-extensions:不載入 PHPUnit 的延伸模組。
  • --include-path <path(s)>:使用指定的路徑新增 PHP 的 include_path。
  • -d <key[=value]>:設定 php.ini 值。
  • --cache-directory <dir>:指定快取目錄。
  • --generate-configuration:產生建議設定的組態檔。
  • --migrate-configuration:將組態檔移轉到目前的格式。
  • --test-directory:指定包含 Pest.php、TestCase.php、輔助函式和測試的測試目錄。預設值:tests

選擇

  • --bail:在第一個未通過的測試時停止執行。
  • --todos:輸出待辦事項清單至標準輸出。
  • --retry:先執行未通過的測試,並在第一個錯誤或失敗時停止執行。
  • --exclude-testsuite <name>:從指定的測試組件中排除測試。
  • --list-groups:列出可用的測試群組。
  • --group <name>:僅執行指定群組的測試。
  • --exclude-group <name>:從指定的群組中排除測試。
  • --covers <name>:僅執行打算涵蓋<name>的測試。
  • --uses <name>:僅執行打算使用<name>的測試。
  • --list-tests:列出可用的測試。
  • --list-tests-xml <file>:列出 XML 格式的可用的測試。
  • --filter <pattern>:篩選要執行的測試
  • --test-suffix <字尾>:只在具有指定字尾的文件中搜尋測試。預設:Test.php,.phpt

執行

  • --globals-backup:為每個測試備份和還原 $GLOBALS。
  • --static-backup:為每個測試備份和還原靜態屬性。
  • --strict-coverage:嚴格要求程式碼覆蓋率資訊。
  • --strict-global-state:嚴格要求變更全域狀態。
  • --disallow-test-output:嚴格要求測試期間輸出。
  • --enforce-time-limit:根據測試規模執行時間限制。
  • --default-time-limit <sec>:未宣告規模測試的逾時,以秒為單位。
  • --dont-report-useless-tests:不回報無任何測試的測試。
  • --stop-on-defect:在第一個未通過的測試時停止執行。
  • --stop-on-error:在第一個錯誤時停止執行。
  • --stop-on-failure:在第一個錯誤或失敗時停止執行。
  • --stop-on-warning:在第一個警告時停止執行。
  • --stop-on-risky:在第一個有風險的測試時停止執行。
  • --stop-on-skipped:在第一個略過的測試時停止執行。
  • --stop-on-incomplete:在第一個不完整的測試時停止執行。
  • --fail-on-incomplete:將不完整的測試視為失敗。
  • --fail-on-risky:將有風險的測試視為失敗。
  • --fail-on-skipped:將略過的測試視為失敗。
  • --fail-on-warning:將有警告的測試視為失敗。
  • --cache-result:將測試結果寫入快取檔案。
  • --do-not-cache-result:不將測試結果寫入快取檔案
  • --order-by <順序>:依序執行測試:預設值 | 缺陷 | 相依 | 持續時間 | 不相依 | 隨機 | 反向 | 規模。
  • --random-order-seed <N>:以隨機順序執行測試時,使用指定的隨機種子

回報

  • --colors <旗標>:在輸出中使用顏色(「從不」、「自動」或「永遠」)。
  • --columns <n>:進度輸出要使用的欄位數。
  • --columns max:進度輸出中使用最大欄位數。
  • --stderr:寫入 STDERR,而非 STDOUT。
  • --no-progress:停用測試執行進度輸出。
  • --no-results:停用測試結果輸出。
  • --no-output:停用所有輸出。
  • --display-incomplete:顯示不完整測試的詳細資料。
  • --display-skipped:顯示略過測試的詳細資料。
  • --display-deprecations:顯示由測試引發的過時警告的詳細資料。
  • --display-errors:顯示由測試引發的錯誤的詳細資料。
  • --display-notices:顯示由測試引發的提示的詳細資料。
  • --display-warnings:顯示由測試引發的警告的詳細資料。
  • --reverse-list:反向順序列印缺陷。
  • --teamcity:使用 TeamCity 格式取代預設的進度和結果輸出。
  • --testdox:使用 TestDox 格式取代預設的結果輸出
  • --compact:使用 Compact 格式取代預設的結果輸出

記錄

  • --log-junit <檔案>:將測試結果以 JUnit XML 格式寫入檔案。
  • --log-teamcity <檔案>:將測試結果以 TeamCity 格式寫入檔案。
  • --testdox-html <檔案>:將測試結果以 TestDox 格式(HTML)寫入檔案。
  • --testdox-text <檔案>:將測試結果以 TestDox 格式(純文字)寫入檔案。
  • --log-events-text <檔案>:串流事件寫入檔案,格式為純文字。
  • --log-events-verbose-text <檔案>:串流事件寫入檔案,格式為純文字(附有遙測資訊)。
  • --no-logging:略過 XML 組態檔案中設定的記錄

程式碼覆蓋率

  • --coverage:產生程式碼覆蓋率報告,並輸出至標準輸出。
  • --coverage --min=<值>:設定所需的最低覆蓋率百分比,並在未達到時失敗。
  • --coverage-crap4j <檔案>:將程式碼覆蓋率報告以 Crap4J XML 格式寫入檔案。
  • --coverage-html <dir>:將程式碼覆蓋率報告以 HTML 格式撰寫到目錄中。
  • --coverage-php <file>:將序列化的程式碼覆蓋率資料撰寫到檔案中。
  • --coverage-text=<file>:將程式碼覆蓋率報告寫入文字格式的檔案中 [預設:標準輸出]。
  • --coverage-xml <dir>:將程式碼覆蓋率報告以 XML 格式寫入目錄中。
  • --warm-coverage-cache:預熱靜態分析快取。
  • --coverage-filter <dir>:將 <dir>:包含在程式碼覆蓋率報告中。
  • --path-coverage:報告路徑覆蓋率,並補充行覆蓋率。
  • --disable-coverage-ignore:停用忽略程式碼覆蓋率的元資料。
  • --no-coverage:忽略 XML 設定檔中設定的程式碼覆蓋率報告

Profiling

  • --profile:輸出至標準輸出前十個最慢的測試

在本章節中,您會找到 Pest 提供的 CLI 選項的完整清單。在後續的文件中,我們將探討測試依賴性的主題: 測試依賴性