[英]In "unittest discover", what does the "-t" option do?
Python 文檔指出-t
選項控制:
項目的頂級目錄(默認為啟動目錄)
通常人們使用-s
選項( python -m unittest discover tests/
相當於python -m unittest discover -s tests
),我之前從未見過有人使用-t
。 文檔中的簡短描述對我沒有啟發。
在這個特定的上下文中,“頂級目錄”是什么意思? -t
選項到底有什么作用?
我的理解是,雖然頂級目錄默認是起始目錄,但起始目錄必須包含在測試目錄中。
從 測試發現的第一段開始:
Unittest 支持簡單的測試發現。 為了與測試發現兼容,所有測試文件必須是可從項目頂級目錄導入的模塊或包(包括命名空間包)(這意味着它們的文件名必須是有效的標識符)。
假設您有一個目錄結構,例如
./
tests1/
tests2/
如果./
是頂級目錄,而tests1
是起始目錄,則在tests2
下不會發現任何測試,即使可以從頂級目錄導入tests2
。
-s
的目的是只發現特定項目的測試子集。 -t
的目的可能是選擇一個特定的“子項目”來運行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.