pytest 常用命令列選項(二)
本文接上篇繼續簡介pytest常用的命令列選項。
8、-v(--verbose) 選項
使用-v/--verbose選項,輸出的資訊會更詳細。最明顯的區別就是每個檔案中的每個測試用例都佔一行,測試的名字和結果都會顯示出來,而不僅僅是一個點或字元。如下圖:
在彩色顯示器上可以看到FAILED標記為紅色,PASSED標記為綠色。
9、-q(--quiet)選項
該選項的作用與-v/--verbose的相反,它會簡化輸出資訊。如下圖:
使用-q選項會簡化輸出資訊,只保留最核心的內容。
10、--tb=style 選項
--tb=style選項決定捕捉到失敗時輸出資訊的顯示方式。某個測試用例失敗後,pytest會列舉出失敗資訊,包括失敗出現在哪一行、是什麼失敗、怎麼失敗的,此過程我們稱之為“資訊回溯”。大多數情況下,資訊回溯是有必要的,它對找到問題很有幫助,但有時也會對多餘的資訊感到厭煩,這時--tb=style選項就有用武之地了。常用的style型別有short、line、no。short模式僅輸出assert的一行以及系統判定內容(不顯示上下文);line模式只使用一行輸出顯示所有的錯誤資訊;no模式則直接遮蔽全部回溯資訊。
使用--tb=no遮蔽全部回溯資訊。如下圖:
使用--tb=line,它可以告訴錯誤的位置,如下圖:
使用--tb=short,顯示的回溯資訊比前面兩種模式的更詳細。如下圖:
除此之外,還有--tb=long輸出最為詳盡的回溯資訊;--tb=auto是預設值,如果有多個測試用例失敗,僅列印第一個和最後一個用例的回溯資訊(格式與long模式一致);--tb=native只輸出Python標準庫的回溯資訊,不顯示額外資訊。
11、--version 選項
使用--version可以顯示當前的pytest版本及當前目錄。如下圖:
由於是用python pip命令安裝的,所以會顯示對就的site-packages目錄。
12、-h(--help)選項
即使你已經熟練使用pytest,-h選項依然非常有用,它不但能展示原生的pytest的用法,還能展示新新增的外掛的選項和用法。
使用-h選項可以獲得:
. 基本用法:pytest [options] [file_or_dir] [file_or_dir] [...]
. 命令列選項及其用法,包括新新增的外掛的選項及其用法。
. 可用於ini配置檔案中的選項。
. 影響pytest行為的環境變數。
. 使用pytest --markers時的可用marker列表。
. 使用pytest --fixtures時的可用fixture列表。
幫助資訊最後會顯示一句話:
shown according to specified file_or_dir or current dir if not specified
這句話的意思為:顯示結果取決於指定的檔案或目錄,未指定的則預設使用當前目錄和檔案。這句話非常重要,選項、marker、fixture都會因為目錄的變化而發生變化。